Another solution is to buy a WebAfrica prepaid account, then create additional services within the account. E.g. if your WebAfrica account is user01, then that would be your account. Additional services would be user01a and user01b, and you would define a different password for each service.
Next step is to buy 1Gb for each service. On the machine (or machines, as the case may be) create three PPP accounts with the login details of each service. Give your sons their own unique accounts and passwords (that they obviously shouldn't share).
Then each son has 1Gb prepaid ADSL for his own use. If he uses it all up before the month end, too bad - has to wait till the next month, or beg his brother for his access details ;-)
I haven't tried this, but in theory it should work (anyone who disagrees, feel free to shoot down this idea in flames). You would need to set your ADSL router in bridge mode for this to work, and put up a firewall to protect your computers from the Internet.
Cheers