I have to agree with WindowsKiller.
Computer generated random numbers tend to be just lists of numbers and the seed (like when using Timer()) simply chooses the point in the list that you start reading numbers.
Fiddling around with trying to make the seed any more random is pointless.
You can prove this by using:
Randomize 1000
For N=1 To 10
Print Rnd(10);" ";
Next N
For me, at the time of writing, this prints:
0 1 1 3 3 4 0 5 8 7
and does so every time the program is run. Changing the seed to a different number like 1100 results in a different set of numbers - but still the same every time the program is run.
Switching back to 1000 again results in the same series of numbers we got before, so they can't be being generated 100% 'randomly'.
This has it's uses though. You can use fixed seed numbers for your program to generate the same thing when run on everyones machines - like fixed 'random' matrices on each level.
I'm assuming that in the Windows game Freecell, when you select the game to play by selecting a number, you are simply selecting the random generator seed so you always get the same 'random' cards selected each time.
[Edit] After posting, I just took a look at your source code and your problem is caused by the bit range that Rnd() uses. I've not checked it, but it seems to 'wrap around' - in the same way that if you try to store 256 in a byte you end up with 1.
I've never been that interested to test out the max size for a Rnd() number but I'm pretty sure that it's a lot less than the rnd(200000) you have used - probably 65535.
So, use Rnd() with say 1024 and then scale the result up:
randomize timer()
do
for obj=1 to 10
make object cube obj,25
rem x=(rnd(200000)-100000)
rem z=(rnd(200000)-100000)
x=(rnd(1024)-512)*200
z=(rnd(1024)-512)*200
position object obj,x,500,z
next obj
create bitmap 1,256,256
ink rgb(0,255,0),0
line 127,0,127,255
line 0,127,255,127
for obj=1 to 10
x=127+(object position x(obj)/1000)
y=127-(object position z(obj)/1000)
box x-2,y-2,x+2,y+2
next obj
get image 1,0,0,256,256
set current bitmap 0
repeat
paste image 1,0,0
until scancode()<>0
wait key
for obj=1 to 10
delete object obj
next obj
delete bitmap 1
loop
TDK_Man