Here is what I would suggest. Be sure that you have the SF source built in debug mode, then do the following:
Then run your code again. You may want to wait to add the breakpoint until you are ready to execute that one specific thing, but in any case, once you get to the Set, look at the call stack to see what is setting this to Nothing.
Any ideas?