The problem was that I was using heredoc syntax, so variables, while being output from MT properly, were being parsed inside the heredoc as they were input. It looked like it would work, but PHP was eating the variables on the way into the string in the first place.
Used single quotes and had MT escape my output and it all works now. Finally. On to the archives and so on…