The code modified by the hack in the FFBonusBytes document will only fix the Fighter and Theif not getting MP. The Black Belt and Master still won't get MP. The reason for this is that the level up data (which is shared by base classes and thier upgrades) never gives them any. The level up data is at ROM address 0x2D094 (0x2D0A4 with header). It's 588 bytes long, which is 49 levels per class and 2 bytes per class. The second byte is a bitmap which indicates whether a class gains spell slots.
The section of code modified by the FFBB hack is as follows:
$9C6A LDA $688E ; Load the character's <class> byte and skip the [Magic
$9C6D BEQ $9CAF ; Points] section if <fighter> or <theif>.
$9C6F CMP #$01
$9C71 BEQ $9CAF
To compleatly eliminate this check, you could simply NOP out the last three instructions.
Another section of code you may be interested in is located at 0x2DC8A (0x2DC9A with header).
$9C8A LDA $688E ; Check the <class> byte and set A to 5 on <knight> and
$9C8D CMP #$06 ; <ninja> and A to 10 on all other classes.
$9C8F BEQ $9C99
$9C91 CMP #$07
$9C93 BEQ $9C99
$9C95 LDA #$0A
$9C97 BNE $9C9B
$9C99 LDA #$05
This sets the limit on how many spells per level a class can have at most. The limits are actually one less than the loaded numbers. If you exceed a limit of 9, the number will end up displayed as a letter.
I don't know where the code that determins which classes gain spell slots on character creation is, but I imagine it's near the hack also mentioned in FFBonusBytes to change the starting spell slots.
Finally, you may want to edit the magic permission bytes. I don't know the format, but they're located at 0x3AD18.