Thnx for the replies, as you can see i did have a loop like that right at the beginning of the program

jmp1:
random temp
if sw1 = 1 then goto start
goto jmp1

I first tried using a similar loop between each number fetching routine, but this meant pressing the button 5 times.

In the end i have used 2 pics. The first one uses 5 random vars to pause for random ammounts of micro seconds, and acts as the button press, the second one simply counts up until it sees a button press, then i use //9 to get the number from 0 to 8. checks to see if it is zero or has already been chosen & repeats if so.

In conclusion, the pbp random statement is the least random thing I have ever come across, a mate tells me he had a similar problem with visual basic, so it is not a flaw with PBP. I just wish the lottery used a computer, I might be able to work out the winning numbers.

Thanks for the help guys