Send your SSI file into support, and we can help you debug it. There are a couple things that could be impacting it:
1) You are missing the RANDOMIZE() command in your list building, or you have the instructions out of order. If the RANDOMIZE() is missing, or if it comes after the SETLISTLENGTH(15) command, then you'd only see the first 15 each time.
2) If you are looking at it in Preview rather than in Test mode, you could experience this. Preview mode does not execute scripts, and is primarily a tool for making sure your layout is correct. Run through the survey in Test mode a few times and you should see different results each time.
3) I know it's probably a long shot, but double check that your parent list contains all 30 items. If it only has the first 15, then this would also create the problem you are seeing.
There are a few other remote possibilities, but these are the first three I'd check.