this happens because for shuffle mode winamp creates a separate playlist where all the songs are randomized. in order to play the randomized list but show the playing song in your normal list, winamp links the two lists. the randomized list doesn't hold songs, instead it holds numbers of the songs in the normal list.
the randomized list may look something like this:
to test the theory you can listen to a few songs, then go to the previous song, and while listening to it move the next song to a different spot in your playlist. then click next. the song played won't be the one the one you moved, it'll be whatever is in its place now.
this is an awesome song!
Update: turning off and then back on the shuffle mode randomizes the playlist again.