Keep in mind that the cart memory is 64 Mega_BITS_, divided in 2 banks (32 Mega_BITS_ each), and 32 Megabits == 4 Megabytes, so the limit makes sense.
I assumed it was 2 banks of 32 M each, but for the megabit, i didn't know that. I thought it was Mbytes, like for how everyone count for storage capacity. On the other hand in France we write and say octet for byte, and bit for bit (but seldom use it, except for network speed), so whenever I read "megab*t*" I tend to read megabyte. Thanks for the clarification.