(I just realized that Feedback was a weird place for this. Isn't there/shouldn't there be a request forum?)
Good news! I found where Mega-All is handled and how it's handled. Here's the way it looks:
At some arbitrary point after equipping a materia the game loops through ALL the equipped materia and sees if one is a mega all. It does this a-like so:
For x = 0 to 15
HandleMegaAll( EquippedMateria(x) );
Loop
void HandleMegaAll ( dword x )
{
If ( (x AND 15) != 4 ) ;Materia is not type X4
exit;
...
}
A little odd to add the check inside the function that handles the MegaAll. Anyway, inside this loop if it DOES find a Mega-All, then it will begin assigning all magics (BIG NOTE ON THIS LATER!!) and applicable commands the ability to be "Alled" X number of times depending on its AP Level (unlike its AP Level Stat. That could be changed, but not easily).
It then begins looping through the 56 allowed magics (yes, that's 56! Not 54 like the menu offers! This means that the Character data can store 2 extra magics than the menu allows! Now if only someone would figure out how to extend the menu) and adds (note on that at the bottom) the "All x [AP Level]" flag to them. It will then loop through the Characters Battle Menu to add [AP Level] to its "All" property. Then it does the most heinous thing. It calls the "Put command" function using Slash-All in the position Attack should be in! :O There are two things I can think to do about this.
First of all, and most simply. We can easily bypass this command reassign function. That would remove the "Slash-All" property from the Mega-All permanently. That's a VERY simple fix. You just have to use a Hex editor to change the value at 0x001CC449 from 74h, to EBh (unconditionally jumps over the replacement). There you go! No more Slash-All with Mega-All! It doesn't really fit into the spirit of Mega-All, but it's more Attack friendly. There have been some cases where I didn't want Slash-All even if I did want the Mega-All effect on other things.
Second, this will be much more complicated and I couldn't really "teach" anyone how to do it, we could check for the presence of one of the "Attack Replacers" and tell this function to NOT enable Slash-All if there is one. All it's doing now is checking if Slash-All exists in the top slot. If it doesn't then it will add it. Good news for advanced assembly editors is that this routine is very isolated (using no external variables) it could easily be replaced entirely by a call function followed by a bunch of nops. Here's what it looks like:
loc_5CD03C:
mov eax, ActiveCharData
xor ecx, ecx
mov cl, [eax + 4Ch]
cmp ecx, 1Ah ;Slash-All's Index
jz short loc_5CD057 ;End of relevant function
push 0
push 18h
call AddBattleMenuAction
add esp, 8
loc_5CD057
Simple, right? This could be replaced by something like this:
loc_5CD03C:
mov eax, ActiveCharData
xor ecx, ecx
mov cl, [eax + 4Ch]
push ecx
call ConditionalAddSlashAll
add esp, 8
nop (x6)
loc_5CD057
loc_XXX ;Some arbitrary location not being used
ConditionalAddSlashAll
[esp manip]
cmp arg_0, 18h
jl Loc_YYY
cmp arg_0, 1Bh
jg Loc_YYY
jmp Loc_ZZZ
Loc_YYY
push 0
push 18h
call AddBattleMenuAction
loc_ZZZ
retn
Then if the command for Slash-All, 2x-Cut, 4x-Cut, or Flash already exists in place of Attack, Slash-All would not be added. I'll develop this more later.
I wonder if this could be integrated into Aali's modifications like my MDef bug fix was.
NOTE: It would seem that the Mega-All "All" stacks on magics. However, the player would NEVER SEE THIS unless they cheated to add level 1 Mega-Alls in their inventory, or did the multiple Mega-All glitch with Vincent at the bottom of North Crater. Alls are limited to performing it 5 times. When a Mega-All is Mastered it is level 5 so it will add 5 "All" times to all the magics. Someone try this out, I want to know if that's true or not. Equip two level 1 Mega-Alls and a non-Master Magic Magic Materia and see if it gives you 2x All those magics.