What version of HIjack are you running?

I had a similar problem with earlier HTTP streaming capable Hijack kernels whereby if you stopped a file from within (or Winamp got a error/crashed etc) then Hijack would only ever serve all subsequent files to this point and then stop, until it was rebooted.

The variable length between songs before they are cuyt off could be because of different bitrates in the mp3 files and whether the file has CBR or VBR recording in it (ie. Hijack stops at file offset X, but how long this is terms of elapsed play time will depend o nthe above factors and may differ for each song you play).

I would strongly suggest trying (a) a reboot of the Empeg - then see if the problem goes away and if so (b) try the latest Hijack kernel (and if its the latest hijack kernel you have, try a earlier one to see if the problem existed then as it may be a recent Hijack bug).