As for the lack of animated frames, I believe the likely cause was that they did not use on the fly transferred memory for sprites.
Basically what this means is, all the frames of animation were loaded into vram for Nathan's standard moves, and his currently selected DSS configuration. Vram is limited, so they could not do many frames, especially with all the enemies and other stage entities along with it per each room.
This is contrary to say, Aria of Sorrow. In Aria, the way they did it was by real time transference. Essentially, they reserved a small space in ram for Soma's currently displaying frame of animation. That space in vram was overwritten with the new current frame of animation, whenever it would change. This makes the frames of animation virtually unlimited (save for cart space). This also saves a lot fo vram space. The downside is that it takes ROM loading time, and isnt ideal to use multiple of. Enemies are still loaded all at once mode like Nathan from CotM.
Harmony of Dissonance took a middle road, in where it loaded all the frames needed for the current playing animation (generally) and swapped out when the next animation would start.
AoS and HoD employ a vram management technique that goes back a long time. I noticed Megaman 5 uses a similar technique to HoD. Oddly though Megaman 6 went back to the standard all frames loaded at once.