I would put it down to the server only having a set number of connections to the database or something like that, and thus things just get lost.
That makes sense, because the problems are unrelated to my own issues with Internet connectivity (i.e. I'd know for other reasons if I suddenly got kicked offline), and seem to occur during the heaviest periods of traffic when most people are playing the game. And when I try to go to the site, the general layout of the site will load, but it will time out trying to show the list of songs I've been dethroned on or connecting to the song search database, etc.
But if the issue is specifically database connectivity and not
server connectivity (in other words, the machine that hosts audio-surf.com is up and running but its datasource is getting hammered), then the server should be set up with some sort of a try/catch clause that, after n failed attempts to write to the database, temporarily stores score data yet to be posted to the database in some sort of a local cache (or hell, even write it to a text file somewhere the general public can't get at it), and later, some sort of a cron job goes through and makes sure the latest stuff from that cache ends up in the database.
This would be the server-side equivalent of what I've previously suggested for storing unposted scores locally when the user can't connect to the server. The nice thing about trying it server-side first is that it's much less exploitable that way, and the client-side caching would only kick in as a failsafe if the game couldn't even connect to the server.