Dude, why did you design those as OWs??? I mean seriously. Massive objects like that put a HUGE strain on the processor. Tiles would be much more efficient.
Edit:
Also, you really need to learn ASM well.... With this code, you can't use Dawn's OW in that slot. The code works like this:
cmp r0, #0xD
bgt no_change /*Branch if sprite to be loaded is greater than 0xD, or not a player sprite).
cmp r0, #0x7
blt hero_change
sub r0, #0x7
b hero_change
It runs based upon the sprite being loaded, independent of male or female (note the sub r0, #0x7. It is going to use the same loader for both male and female.). So, you are going to run into conflicts when you encounter Dawn. Simple to fix in any case, just copy Dawn's main sprite to a fresh slot and change OWs to work that way. This was an issue in JPAN's hack itself, only mine forces it to be apparent easily. If you had ever tried to use the hero changer, it would have changed Dawn's sprite too. (Note that if you are playing as Dawn, this will affect the male player NPC too.)
Edit 2:
ANNNNNNNNNND I removed my ASM for the OW hack, and those palette errors still happen.
I found that it defaulted to slot 2 because it's palette slot byte was 12, but the slot was just 2. The initial loader will load this correctly, but the one at the start menu won't (the reloader...). So, using 04 as that byte always keeps it in slot 4.
However, even when I get it back in its normal slot, the error still happens.
/me thinks a limiter on the reloader wasn't removed....
Edit 3:
Omg.... I looked at it.... This is ridiculous...
So, now I REALLY know why GF only had 15 palettes....
When the reloader is called, it doesn't cycle through the OWs and load their palettes. No, it goes through and does this:
load palette 0 into slot 0
load palette 1 into slot 1
load palette 3 into slot 2
load palette 4 into slot 3
load palette 5 into slot 4 <- This is the conflict!
load palette 6 into slot 5
load palette 7 into slot 6
load palette 8 into slot 7
load palette 9 into slot 8
load palette A into slot 9
I think if I rewrite my ASM to write the palette every frame, that I may be able to make this code null-in-void.