I like PPPoE for lots of reasons - the per-user profile, centralized AAA capabilities, client-client isolation, etc.
We had to abandon it for QoS concerns, because PPPoE makes the DSCP field of the IP packets invisible to most platforms I've worked with. The equipment (switch, AP, etc) between the PPPoE concentrator and the customer needs to do QoS as well. When this equipment sees that the ethernet frame contains a protocol that's not IP, it stops looking up the stack, so the DSCP field is not being honored like it is for native IP packets. If you use VLANs to carry the PPPoE traffic, you can use 802.1p marking (cos), wich requires a vlan header, so the switches and APs in the middle can use cos to prioritize traffic, while the PPPoE server can prioritize voice over data when enforcing the user's individual rate limits.
On the PPPoE server, you're going to need to do connection marking (to mark VoIP traffic) and then in addition to a packet mark, use the set priority action. (cos can be 0-7) - then your APs and switches can prioritize based on cos value alone.
http://wiki.mikrotik.com/wiki/Manual:WM ... t_priority