I doubt if it's the size of the Playlist. If I go into the Songs menu (which is a "Playlist", after all) and use Shuffle Play, the iPod handles it perfectly and I have well in excess of 4,500 songs on it!
My first thought is that it's the songs themsleves. Is there any common factor between the songs that are playing when the iPod re-starts? Are they from the same album, purchased as MP3s from the same store, imported into iTunes around the same time, or even that they're in an unconventional format?
Actually, that brings me to a second thought. Are the songs in WAV format, or any of the other high bit rate formats, and are you moving the iPod around when this happens (running, jogging etc. etc.)?
As well as addressing the points I've mentioned above, you could try considering a couple of alternative strategies:
1. Each and any song can be set to Skip when shuffling, which would therefore exclude them when you played from the Songs menu and in Shuffle mode. No need for any playlist.
2. I have created (in my iTunes) a (master) Smart Playlist that looks at several other (sub) Playlists, both Smart and Regular. Each of the sub-Playlists does something different;
- one has low-rated songs in it, but only if they haven't been played for a long time;
- another has higher-rated songs, that haven't been played for a shorter time;
- yet another has songs I've never played - ever. Once they have been played, they are dropped from the list.
- The result is that the master-Playlist, which looks at the sub-Playlists has a mix of my favourites, not so favourite and each of those played less frequently, and some other songs, only played once. The master-Playlist updates automatically.
- (I even have a further sub-Playlist that includes songs played once only, and only if that was long ago. Therefore, even the "play-once-and-drop" songs eventually come back into the master-Playlist!)
If you would like to try either of the suggestions I've outlined, I can advise you on setting it up. Just ask.