I have setup a fully working ISDN PBX system using asterisk and queues. At the moment, the Music on hold (MOH) starts a new playback for every caller, therefore starting them from the beginning of the song each time.
I would like it for a song to be continuously playing for all callers at the same time, and if a new caller were to join the queue, it would not start at the beginning, but would join in the same place as the other callers/song. I can’t seem to find out how to apply this.
Any ideas guys?

I’m don’t have the same problem you’ve described. can you post us the relevant sections of your dialplan?
musiconhold.conf:
[New]
mode=files
directory=/var/lib/asterisk/mohmp3/New
queues.conf
[100]
wrapuptime=0
timeout=60
strategy=ringall
retry=2
queue-youarenext=queue-youarenext
queue-thereare=queue-thereare
queue-thankyou=queue-thankyou
queue-callswaiting=queue-callswaiting
music=new
monitor-join=yes
monitor-format=
member=Local/5@from-internal,0
member=Local/4@from-internal,0
member=Local/3@from-internal,0
member=Local/2@from-internal,0
member=Local/1@from-internal,0
maxlen=0
leavewhenempty=no
joinempty=Yes
context=
announce-holdtime=no
announce-frequency=15
I am also playing WAV’s not MP3’s in order to stop MP3 crashed/cpu usage.