I'm scheduling a full day's worth of music, but my playout system always comes up short.

Two things could be going on.  First, it could be that some of the Song Cards in Music 1 don't have the correct drive\path\filename in the CART field.  Remember, what's in the CART field is what Music 1 gives to the automation/playout system.  In your case to SAM Broadcaster.  Sometimes a guy might move the audio file from one folder to another after the data has been imported onto a Music 1 Song Card. Music 1 doesn't know that it's been moved, it doesn't change the CART field automatically.  So later, Music 1 schedules the song, the 'old'  Drive\Path is in the playlist and SAM comes to it, doesn't know where to find it and passes it.   If this happens more than a couple times in a playlist, you could easily come up short.

for the second possibility, see below:

 PlaylistRunsShort

PlaylistRunsShort

steve3rd