Been a while.
I suddenly had motivation to look into some of the mechanics for this game, so I made a helper script. It has displays for current experience of equipped parts, damage values for shots, HP values for enemies, and hitboxes for most attacks. You can toggle between raw experience values for parts and the in-game percentage by pressing D with the script active. For the best experience, use with BizHawk 1.11.6 or later.
http://pastebin.com/kB88ca0q
Some other minor things I've noted while digging into the mechanics:
-Damage from a lower-level weapon against a higher-level enemy will result in a power of 2 reduction in damage. Thus a one-level difference will halve the damage; 2 levels higher will do a quarter of its full damage, and so on.
-The opposite of the above is not true; higher-level weapon fire on a lower-leveled enemy still does the regular shot damage.
-You need a cumulative amount of 0x8000 part experience to hit 100%. To hit 120%, you need exactly 0xD666 part experience. Different weapons give different amounts of experience.
-Part experience seems to be entirely per-hit and does not care about the actual damage done. This includes leveling your mech by sitting around and getting pelted.
-The coordinate system is somewhat of a mystery, but it does have sub-pixel precision at least within the camera view. This means that a few tricks or otherwise may rely on that level of precision, assuming they exist at all.
I've got a pretty good feel for the game coding flow in general now. The data structures they set up are pretty straightforward and consistent. If you have specific things that you're curious about, let me know and I should be able to pull it up pretty quickly.
Good luck!