No reason I can see why this shouldn’t work; I’ve checked with Locksmith and there’s no obvious incompatibility there, either. (I am able to assemble an example that includes this code and Locksmith, and seems to run fine.) Some ways to troubleshoot this kind of problem:
– look through your Indices. Make sure that the Kinds Index and World Index both show that you’ve created all the objects you wanted (and only the objects you wanted) and that you haven’t accidentally made two things with quite similar names where you meant to make one;
– try inserting some say phrase into your scope rule to see whether it is actually happening, which may help indicate where the problem is.
One (unrelated) caveat: if you have more than one room, you probably want
After deciding the scope of the player when the player is in the Master Bedroom:
place the light switch in scope.
or else when you get this working again the light switch will be accessible from everywhere. (I’ve actually amended this in the example for the next version of Inform, but of course it is not out yet.)