Managed to get a copy of iTunes 6 installed to serve the same file. If I download a given track from mt-daapd and iTunes 6, their MD5s match, so mt-daapd is behaving exactly like iTunes 6 here.
In keeping with the “be liberal about what you accept, and conservative about what you produce” school of thought, it’d be nice if mt-daapd could be better than iTunes in this respect, and either refuse to serve a file with messed-up tags or, even better, serve a version that’ll play by sanitising the data.
Anyway, I guess the problem is the contents of the AAC file, but as both iTunes and Amarok play the files just fine from the local library, I’m at a bit of a loss as to why streaming it would break stuff. So the next question is: How/why does the served stream differ from the original file? (Streams are different for served MP3s too, not just AAC.) I’m sure I could work this out by spending enough time doing diffs or digging through sources, but if someone could give me a headstart that’d be great 🙂
 A quick visit to http://www.apple.com/support/downloads/ reveals that iTunes 6 is really popular ever since 7 came out 🙂