I haven't had tons of playing time on it since the problem occurred: maybe 4 or 5 hours total. It hasn't overheated since then. I even tried playing through the exact same cabinet with the exact same settings and instrument for an hour, and it never got above room temperature. Maybe I wasn't playing the right songs to evoke the magic heat monster?
Anyway, at this point I have no clue what went wrong during that particular rehearsal, but sadly it's lowered my confidence in the amp.
When it overheated during the rehearsal and cut power down to 2% or whatever, I tried several things. I power cycled it, and it would typically work for a few seconds and then cut back out. I bypassed the input tube using the rear switch, same result. Then I unscrewed and removed the top and pointed an oscillating fan towards heatsink, and while I was at it I also re-connected the speakon cable. The unit was off for probably 5 or 10 minutes while I did this, while the band took a break. After this, I was able to continue with the rehearsal for another hour of equivalent playing without issue, and by the end the heatsink had cooled to the point where it was only slightly above room temperature.
To be honest, I don't think the problem was just the lack of fan; after I restarted the rehearsal, the heatsink just didn't seem to be producing as much heat as before. Whatever was producing the heat had stopped, for whatever reason.
This coincides with the Carvin tech, who basically indicated that the unit really shouldn't ever produce that much heat unless it's being asked to push a very low-impedance load. (In my case, it was just a single 8-ohm cabinet.)
So I suspect an internal short in the BX500, or perhaps an intermittent crossover problem in my cabinet. Without a repro, it's difficult to rule things out...