Why is it that some files will give error messages like "No INSTRUMENT" or "No DRUM SET" when the button is off, but work with it either on (SC-55 map) or blinking (SC-88 map)?
Because you are asking for a patch (or drum set) that is not present in the current sound map of your device.
Imagine for example you have an SC-50. That unit lacks the MT-32 patches of the SC-55. If I play a midi file that specifically asks for one of those patches, then the unit will return a "NO INSTRUMENT" error message. In the case of the SC-88 you have more patch sets than all the previous models. If you tell your unit to use the SC-55 set and play a midi file that specifically asks for a patch of the SC-88 group, then you'll get the message.
To fix this problem you have to manually change the instrument patch to a different one. You can do so directly at the SC's front panel or you could permanently make the change in the midi file with a sequencer application.
How to determine in which mode (GS factory default or GM)
Unless the MIDI composer was diligent enough to say so (and the user bothered to read it) then there's no easy way. For example in this website you'll notice that the GM and GS MIDI files are grouped separately into sections. Furthermore their zipfiles contain a text file that say if they use GS or GM. You could open the midi file with a software program and look at the description field of each MIDI track, see if there's something written there.
Another quick way if you are listening to a song on your SC and the unit spews "NO INSTRUMENT" or sounds bad then the song is probably using GS (or XG). There's always the possibility the unit wasn't properly reset or meant for different hardware or that the composition just plain sucks.
I had trouble with repeatedly playing different files on a Sound Canvas without resetting the unit... What is your take on this
That's a loaded question he he he. It's just a quirk. Comes with the territory. It's not a design flaw to allow the MIDI device to maintain its state from song to song but it can annoy you sometimes. I don't want to get nitpicked so I am cutting it short. Hope that clears it up. Good luck!