Tie items to the tag itself is a good idea to avoid things like this, also to avoid scenarios where you search for "#t" and end up seeing "#tag, #test, #teehee".
Unfortunately the way tag list is done right now, it's more of a helper that helps you list, sort, and search for tags. It's not treating tags as anything more than a string right now, but it should. That's another feature request on its own though.
Regarding the mysterious #/@, the thought just came to me that it might be caused by invisible unicode characters, but that's kind of hard to debug. Of course it's not possible if you never copy from other sources or use unicode extensively. We've seen this case where people use some unicodes that invalidates the OPML file (because it's an invalid XML file in the first place), thus preventing the OPML file from being imported at all, because an invalid XML file cannot be properly parsed.