I finally had some time to sit down and try to figure out the "Could not publish to server NPE bug". Turns out to be a bug in WTP 2.0.2, bug #219627. The WTP team released a patch and then later they made a full 2.0.3 release. However, if you download the latest version of Eclipse Europa (for JEE), it still has the older 2.0.2 version of WTP. Which I believe explains why there have been so many reports of this problem.
So the fix is to run the update manager in Eclipse and get the most recent updates for WTP. I confirmed this by reverting my Eclipse config to WTP 2.0.2 and was able to reliably reproduce the issue. Reverting back to WTP 2.0.3 got the deploy to Pluto working again.
I added a FAQ page for the project with a FAQ also explaining the issue. I also verified that the Pluto server plug-in works in Ganymede.
Many thanks to campi, by the way. I basically ran a Google search based on the stack trace campi posted to find others who had run into the same issue but with a different plug-in. And that eventually got me to the Eclipse bug and the resolution.