i think the level_load command destroys first the level (and your string1 too) and then loads the level. But at this time your string1 is = NULL so the engine loads an empty level. Try this:
STRING* dummy = "#32";
...
str_cpy(dummy,my.string1); level_load(dummy);
Shitlord by trade and passion. Graphics programmer at Laminar Research. I write blog posts at feresignum.com