We have a solution to the pdb file problem:
1. Register the dll with gacutil (gacutil -i <name.dll>) (remove the existing one from GAC first if necessary)
2. Find the registered dll in GAC and copy manually the pdb file there to the same directory (for example, one of my files ended up here: C:\\WINDOWS\\assembly\\GAC_MSIL\\XlMortgageCalc\\220.127.116.11__36608c460dc74a10)
Then the source files should be visible in performance profiler.
A colleague and I have tried to prove that it works (on Win 2003 x86, at least). Hope this helps!