As I said, I don't know how you're doing things, so I can't be sure this solution would be suitable for you. I meant storing every frame in separate (and cropped) GFX file, and if possible, to load that file only when this frame is to be displayed. This will eliminate the need to load big GFX file at battle start, but I don't know if it will cause visible lags/frame skips during first animation playback. Also, only needed frames will be in the memory, so it will decrease chances of ever seeing that nasty "Failed to load Bitmap" error

, especially with independent cropping of every file (which will also decrease loading time). Depending on approach, it may be a lot of work, but I think it's well worth the time.
Drop me a PM if you want some help with caching - I don't think that revealing trade secrets publicly is such a good idea

.