I wonder if problem is here:
[pascal]glVertexPointer(3, GL_FLOAT, 0, @Cloud.vBuffer);
glColorPointer(4, GL_FLOAT, 0, @Cloud.cBuffer);
glTexCoordPointer(2, GL_FLOAT, 0, @Cloud.tBuffer);[/pascal]

I don't have GLScene installed to test but try using

[pascal]glVertexPointer(3, GL_FLOAT, 0, @Cloud.vBuffer[0]);
glColorPointer(4, GL_FLOAT, 0, @Cloud.cBuffer[0]);
glTexCoordPointer(2, GL_FLOAT, 0, @Cloud.tBuffer[0]);[/pascal]

Setlength made dynamic arrays don't work same way as normal or allocated ones if i remember, instead it's like a pointer to memory space that contains the cells in an array.