A call to ns_adp_include, while in the same interpreter and thread, still follows the rules of calling a subproc. This means that the variables in the ns_adp_include are not available unless you "global" or "upvar" them. Likewise, variables of the same names in the subproc are unaffected by the calling proc.
Results should be:
spoo, 123, blahblahblah
spoo, 123, blahblahblah
unchanged1, unchanged2, unchanged3
spoo, 123, blah
unchanged1, unchanged2, unchanged3
spoo, 123, blah