Warning: Geeky producer content ahead...
I've struggled a lot over the years of keeping my master mixes organized. I figured I'd share my method for anyone who's in the same boat.
I always keep archives of every major mix version, using the filename convention of "Song Name - Version - Date.wav". For example, "She Dreams In Blue - 08 - 20070726.wav". I keep all of the songs I'm working on for the current album in one directory. Since it'd get crowded with all the old mixes, I create a subfolder called "Archived", and move old versions into this. In other words, the main folder has one file per song - only the most recent mix. Yeah, the version is kinda redundant, but it's helpful to give me context on how far a song is into development.
Just as I like to treat song mastering as part of the recording/mixing process, I like to start early with the album's song order. To do this, I use Winamp playlists. Just click and drag the songs into the order you want them, and save the playlist as a M3U file with a versioned filename, like "_Rock CD - 14 - 20070725.m3u". I give it an underscore as the first character to alphabetize it at the top, rather than in the middle of the songs. The neat part is that you can go to Nero, tell it you want to burn an audio CD, then drag the M3U file onto the window to burn the tracks in your playlist.