What you describe happens to me, too. I usually try to set everything up after I'm sure the patch has loaded completely.
If you're just trying to send something through the object, you can just use '.messnamed()' to address the send. Otherwise, you could either initialize your local assignments from outside the patch, or try using a Task() object and use its .schedule() method in loadbang() to call a seperate function that makes your scripting assignments:
var getstuff = new Task(this, getstuffnow);
obj = this.patcher.getnamed("test_send");
Tasks have been flaky on me in the past, but I've found them to be much more reliable in Max6.
edit::I just noticed after rereading Patrick's post that you're using the variable "patcher" to refer to the patcher without the jsthis instance. If you've defined "patcher=this.patcher" in global code, that might be why its not working. It should be: