Ah, right... I suppose it's the reader's job to intern symbols even if the form isn't going to get evaluated....
I do have it in separate forms, but I've stumbled before trying to get similar things to work and was afraid that calling load from somewhere other than the top-level meant that all the stuff it created got thrown out when load returned. But, I would guess that instead it's the same sort of thing with the reader trying to intern symbols even though they might not get evaluated.
And, yep... the "read-from-string" offends my sensibility, too. :). I'll just assume the load's going to succeed.