Hi Matt,
With PayPal there are 2 ways that the site can get notified of the transaction, PDT and IPN both of which have to configured at PayPal. IPN is most important to configure because PDT only happens if the user clicks the link to go back to the merchant site after paying. With IPN you configure an the url and PayPal does a server to server post. If either an IPN post or a PDT post happens then it should process the order and the begin and end dates of the membership are calculated and set (confirmation email would also be sent). But it sounds like those fields must be null in a order row in sts_MembershipTicket table. It is expected that those fields would be null on a cart row in the same table. The only difference between a cart row and an order are the OrderStatusGuid, it sounds like somehow you got a row with a status of order but the begin and end dates were never calculated and are null. I'm going to create that condition and make it tolerant so it doesn't crash the page but still need to figure out what went wrong and how that happened to ensure that future orders work correctly.
Do you know if IPN and PDT are configured in your PayPal?
Were there any errors in the log that looks like they are from paypal posting to the site?
Thanks,
Joe