Two things to look for on this that I found. 1st this error if are receiving it on the return from PayPal while using the sandbox (test environment) doesn't always work quite as well as the live version. What I've found is for whatever reason in the sandbox environment I've noticed the properties being returned are not always correct. Hence you get a typical "Object reference" promblem. Simply put DC is expecting something that is not being delivered by PayPal.
Live PayPal seems to be more stable and works just fine. I had this issue last night as I was working with this myself. I also found that if you do not pay attention to how you are setting up your provider you can make a mistake there quite easily.
Make sure you have the correct default provider setup and enabled. Also pay attention the difference between the std. paypal provider and the pro in that the fields required are different (obviously that is evident but in clicking the pages quickly while troubleshooting I caught myself puttting in the Pro API string into the PDT ID as they are similar. Setting up the PDT ID in the sandbox was not as direct as you might think. In fact the pre config. PayPal accounts default to the Pro API. You have to login to the account and setup through the "profile" tab and then the "Web Payments" configuration page.
Hope that gives you a hand.