Are you trying to charge per mbps sustained or total monthly transfer?
Hybodus appears to collect its stats at the switch port (but I've only quickly browsed the site since seeing your post) which wouldn't do much for your VPS monitoring, as it would pick up stats for the entire interface, not per IP/VPS.
With Virtuozzo you can view bandwidth graphs for each VPS, as well as rate limit users. But has no built in support for measuring total monthly transfer. I have however been told that it is possible to script such a control.
Bandwidth for apache is pretty straightforward use mod_bandwidth or mod_throttle.
Bandwidth for other services (mail, ftp etc) is a little more tricky on a vps. The only way I've found to do it, is to have some form of batch-processing log analyser which 'tots up' how much bandwidth customer X has done in the past 24 hours or so. Something like Mod_logon with some custom-written scripts might do what you want.
The other option is to add a certain percentage on top of what a customer is using in terms of web traffic, to account for email, depending on what package you are offering them. You can assume that (unless you give them anonymous ftp), they aren't going to be using this that often so can pretty much write this off. At the end of the month, you just add up the cumulative total for all days and display it.