I have found that debugging support is incredibly flaky. It worked for me once but never since, no matter what I try. I think that it may only properly work when debugged via an ASP.NET 3.5 site using the Silverlight ASP support.
Solved
The issue was with using Google Chrome. Because Google Chrome hosts Silverlight in its own process, the debugger couldn't find it. If you debug using IE7, it attaches fine, but if you debug using Chrome, you have to manually attach to the appropriate Silverlight task under Chrome before it will work.
Thanks to mattmanser for the clue as to what the problem might be.