I figured out how to make Firefox recognize thunderlinks on the mac. In addition to the instructions on the Mozillazine page, you have to do the following:
Create a boolean pref called network.protocol-handler.expose.thunderlink and set it to false. Then, when you click on a thunderlink in the browser (or paste a thunderlink into the address bar), Firefox will ask you to choose a program to associate with this protocol. Navigate to /Applications/Thunderbird.app and click to the checkbox to remember this choice, and you're set.
Now clicking on a thunderlink will bring up Thunderbird. The only issue is that it doesn't bring up the right email in Thunderbird. That's probably because I am using ver 11.01. I am looking forward to the Thunderlink update that will make it work in Thunderbird 11. I hope this fix helps anyone who was having the same frustration as I was on the mac.
This review is for a previous version of the add-on (0.05).
This user has a previous review of this add-on.
I had a chance to look at your issue, but it doesn't look good.
Regarding your solution: I'm afraid it's a dead end. We need a way to pass the actual ThunderLink to TB, but Firefox does not provide a means to do that. This has to be done by the underlying OS, and it works fine on Windows and Linux. There is definitely also a way to do that on OSX but I didn't fully implement it because I ran into a bigger problem on the way:
Basically, the problem ist that OSX doesn't seem to allow more than one instance of TB to be launched. So, when TB is up and running, launching it again from the command line with the -thunderlink option will result in an error message, whereas on Windows and Linux machines, the option would be passed on to the running instance where it would subsequently be used to select the email referenced by the ThunderLink. If I observed things correctly, you should get the error message, too, when you use the way you described above to call TB. Just do it twice in a row.
I will post this problem on mozillazine. Maybe there is some workaround, but seems to me like an OS limitation/feature that we won't be able to circumvent. Sorry.