I'd suggest a simple test for determining if something is a cheat: does it step outside the world conditions established by the developers?
Fixing something with Shadowkeeper is not a cheat. The rules lay down that a particular key is dropped by an enemy when you kill it, but if the key isn't there, creating it actually fulfills the developer's intentions. Fixing a bug isn't a cheat.
Giving a character higher stats because "according to the Rule Book of Fred Shenlichvergeit in 1684, my class should have a 24 in Dexterity, so I'm repairing this oversight" is pure BS. Fred didn't make BG2, and the developers did. Again, they set the world conditions.
It's been pointed out that there are activities you can perform which are "cheesy," rather than cheats. These take advantage of mistakes or limitations in coding, such as poor AI, or endless use of potions to super-outfit a party almost at the start of the game. Is it cheating? No. Is it cheating to throw Cloudkill spells at dragons, who then sit and die? No. But these examples circumvent for me both the intent and the fun of BG2. If there's no challenge, there's no sense of accomplishment.
That's not to say you can't do whatever you like with the game, once you have the code--after all, you bought it, you own it. But cheating and denying it's a cheat doesn't convince anyone. Do what you want with the game, just don't try to make us all think you're cheating because some D&D guide published in 1684 in Latin somehow justifies changes to code.
![Wink ;)](./images/smilies/)