Yes Andrew, we talked about that problem, there is a similar issue with german with the gender of nouns (der/die/das). I'm not sure how to solve that problem really, we have to work around it with the phrasing of sentences somehow, and in how we choose messages.
I improved on the syntax that I described above (inspired by Jeffs proposal) so that my example would now look like this in the message catalog:
_mr en_US dotlrn.class_may_not_be_deleted {Error: A %1:subject% must have <em>no</em> %2:class_instances% to be deleted}
The words in between the percentage signs are merely pretty names that give the translator some guidance. They are not adp or tcl variable names.