While it is indeed possible to use MSysObjects to get what you want in terms of whether table X exists, the CLEANER solution is probably the function that iterates through the members of the tables collection seeking that table whose name is X. If it finds it, the function returns TRUE. So I would advocate the solution offered by Mile-O-Phile.
This method is preferable because it doesn't depend on the underlying structure of MSysObjects, which (being an infrastructure item) is potentially changeable without much notice from version to version. However, the published COM interface involving enumerable collections is far less likely to change.
You would also do better to populate a new table by performing an enumeration of each collection's members and storing the name (and type) of each member. So in general, I would say that if you want to search for a named object, write something that will traverse the collection that putatively contains it, as a general approach that will always work better than anything that requires you to decompose a cryptic table.
Several ways exist to disable a block of code. The idea of placing the code inside an IF block for which the condition is FALSE is probably as good as any. If this is being done as a debugging issue, this is probably OK. But if there is ANY OTHER REASON for you to want to do this, you should design the code ahead of time to have a control key to enable or disable it. I.e. if you want the code to work for users but not for the Admins group, put it in an IF block from the start and test the group membership of your current user on entry to the block.
I have to warn you about self-modifying code, though. Yes, you can do it. Getting it to recompile correctly and be usable to all parties, though, might be a problem. The specific problem is that if the older version of the changed module is in use when you try this, your changer code will run into a lock and will fail miserably no matter how good it is. Also, I'm probably the most pretentious programmer you ever met, and this is something that even I would approach with extreme caution.
On the other hand, if you think about it, many of the control wizards (button wizard, for example) modify a form's module by inserting code somewhere in the body of that module. So yes, you can indeed write code to change code.