You need to offset the vertices after adding the object, add mesh to vertexdata will add the mesh at 0,0,0:
Sync on
Sync rate 0
obj = 0
for f = 1 to 100
inc obj
make object cube obj, 1
if obj=1
make mesh from object 1,obj
else
make mesh from object 2,obj
lock vertexdata for mesh 1
vertex_start = get vertexdata vertex count()
add mesh to vertexdata 2
vertex_end = get vertexdata vertex count()-1
posx# = rnd(100)
posz# = rnd(100)
for v=vertex_start to vertex_end
x# = get vertexdata position x(v)
y# = get vertexdata position y(v)
z# = get vertexdata position z(v)
set vertexdata position v, x#+posx# , y#, z#+posz#
next
unlock vertexdata
delete mesh 2
endif
delete object obj
next f
make object 1,1,1
Do
set cursor 0, 0
print "Fps: ", screen fps()
print "Polygons: ", statistic(1)
Sync
Loop