today i spend half a day trying to get an user into a subscriber role using ubercart and standard paypal payment method, after lot of test, i did it. the problem is very simple, when users pay at paypal, his/her order pass from "in checkout" to "pending" status, and never arrive to "completed" (i know, when you back from paypal there is a message saying the order is completed, that "complete" is not the order status really), so what i did was, assign the role in "pending" order status. and there is no security risks because the status doesnt change until the user has paid.
i dont know yet why the order remains in pending status, i had tested in ubercart RC2, and the problem persist, maybe this is the desired behavior.
a bit late, but hope can help you.


Joined: 04/11/2008