Here's how it is as of 0.49. If you want Test::More to be thread safe you have to "use threads" yourself and do it before you use Test::More. This is a change from previous versions. Previously I took the view that users will probably get this wrong so I'll just do it for them. The change was because if T::M always turned threads on when available there were certain things that became untestable. This occured to me when I tried to test the parts of threads::shared that happen when threads are disabled. It is very important that a testing module not modify the environment it is testing.
I fixed the problem with names as references. I find it kind of annoying that I had to but I don't really understand threading nuances to judge who's bug it is. I think its nasty how many hoops Test::Builder has to jump through to make itself thread safe especially considering that it never uses threads itself. This was 5.8.0 when I did it. Things have hopefully improved since then but I still have to support 5.8.0. Alas.