The .mo files, the binaries, are the result of compiling the .po files. So, you should better work on the original .po files [1] The reason behind the .mo files is speed: binaries are much faster to parse when running the application.
Translation, as well as other parts of the development, is much easier on a Linux desktop. There, you could use 'kbabel' or sth similar that does all the work for you.
You could also take a look at the info page of 'gettext', in the GNU documentation. It is rather lengthy (GNU's have that), but -trust me- there is good reason behind all this complexity.
http://www.gnu.org/software/gettext/manual/gettext.html
[1] You could reverse-compile the mo ones to get the po's. But that is not recommended.
Added after 5 minutes: The KDE project also has a very good howto on translation:
http://l10n.kde.org/docs/translation-howto/
.. since their technologies are similar to ours, most of that Howto applies to a2billing as well.