Does the session drop immediately or does it seem to timeout? Also, could you try 'pppoe -d'? See the man page for pppoe for a full explanation. Perhaps this will provide more detailed information about what is causing the drop.
There is also a debug option that can be passed to pppd. Maybe that could help? Brian