I made a patch that sorta fixes the problem. Well, it's good enough so that you can see where you are going, anyway. Here is where the color palette for 24:xx is located in the ROM:
Which, as you know, causes problems in the game at midnight with VisualBoyAdvance:
So I edited the color palette like so:
Unfortunately, I couldn't get it to work the way I wanted it to. When editing that line of hex, it affects all but the last line of colors in the background color palettes (see the palette viewer to see what I mean). (The last line is for text boxes, which still has the yellow/green/blue/pink.) So this limits me to four different colors, which is kinda boring. And I chose gray as the color (I could have chosen sepia or something like that if I wanted to, but no matter what I choose I'm limited to four colors). All the other hours let you edit palettes one line at a time (notice how colorful they are). But hey, at least it looks like one of the last levels in Kirby's Adventure.
So until I find a way so that I can edit parts of the palette rather than all at once, this will have to do. Better than nothing, I guess.
Oh, and by the way, there's a way to work around this problem without a patch as well: Just play it in Game Boy mode.
So... there you have it. Oh, and the patch is in the bottom of the post. Oh, and somebody do me a favor and bug the people who are responsible for making VisualBoyAdvance to make the clock work properly (like I said before, it affects Pokémon as well). And while you're at it, have them fix the not-so-good sound emulation -- the "muffling" noise is too loud, and the bass can hardly be heard at all.
EDIT: Er, I just noticed that this patch causes the screen to look all weird when the title screen loads, and when you press Start and make the D-shoot screen load (though this thankfully doesn't happen in the game). Damn. It seems that these two loading screens run off the same palette.