Most flash players don't have gaps because they don't have seek times, like HDs do.
Hard drive players have gaps because after they aren't active for a while, they turn off, and when time comes to queue up the next song into memory (RAM, or some flash base) it turns back on and queues up the next song (normally a few seconds before the current song ends), and then turns off again.

Reason you get gaps is because the player isn't expecting to queue up the next song for another while, so it has to turn itself on again and then queue it up, which takes time.
It's to save power, since the HD drains a significant amount of power

Flash players don't have that problem, since they aren't as active as HDs are, so they never turn off (the really can't, since they're just RAM basically) so you can change songs any time you want.

Nothing ever pauses on my Muvo N200, it's 512 MB but comes in 1GB, which is pretty much as high as flash players go.
I don't need to carry my entire music library with me, that's what my AV420 is for, so I encode my music in 48-64kbps and i can store about ~300 songs on my 512mb player

hope this has helped