I have the iAudio U2. It does shuffle play, but the problem with the "shuffle" concept is that it really DOES shuffle and there is a possibility that you'll hear the same song over again. I've had it happen to me on a few instances where I choose to skip a song, go to another song (didn't like that) and skip forward again, and I get the song I first skipped. I know for sure that once I reboot my player, it'll clear its "list" of played songs and it'll create a new list that'll be shuffled. So here's the deal: when it's shuffled, it's really not. And when it's not, it's not. Get it?
EDIT 1
oint being, it assigns a number to each track (duh) and at the end, the device chooses a number at random and that is not the one that's just done and can be any other. I know a friend who wrote a program for his calculator and a part of its code instructed it to pick a random integer and he set the limit from 1-10. I've gotten the same number twice and that's cause he didn't set the restriction as the one that came earlier. So yea... I hope I'm more clear now.
EDIT 2: Ok, so it IS a possibility for the player to not use the last few tracks and that can be achieved by keeping a list. The list, probably, will get erased after a certain number of tracks (it depends on its available resources and how quickly it can sort, choose, write, read, etc.) And since I told you my mp3 player loses the "list" after a reboot, it doesn't completely do real shuffle where everything is played without having things repeat themselves more than once. It can be done on the PC cause it's got, relatively (to the players), exponentially more resources (exponentially might've been too big a word, but you get the picture.)
--Kiran