Agree, but that assumes that a config file is setup and does not send raw codes. It relies on lirc to map the string that you pass to the appropriate code.
Unfortunately, it is not as easy to get lirc to just send the code (without changing the lirc code).
An option is to have a dynamic config file that linuxMCE manipulates when it records new codes and for manually entered codes only accept config file strings.
Then like you said, you could just use the equivalant of the lirc irsend. This would not support the same codes (which are PRONTO format) that the other IR devices support though and we would then lose the ability to record from say a USB_UIRT and playback on a lirc. This would also mean that existing device templates that people build for IR controlled devices would not work with the LIRC device - which sort of makes it a bit of a waste.
Ideally, if there was code to allow the receiving (and sending) of PRONTO formatted strings through the lirc drivers then the addition would be trivial. This code does not exist to my knowledge in the standard lirc code branch and there is no code written that makes use of the lirc libraries either.
That is all what i found out when I looked into it last. If things have changed or you are willing to write the missing code then I am all for it