1) there must be some way to clear that cache (if it exsists)
~vpopmail/bin/clearopensmtp does that job. Somewhere in your install instructions you should be adding that to crontab so it is run periodically.
2) I don't fully understand the concept of roaming users in vpopmail
If you add --enable-roaming-users when you comile vpopmail, vdelivermail will add the IP address of mail users that successfully login to check mail to a list. (~vpopmail/etc/open_smtp) That list is combined with another list of clients that is always allowed to relay. (I don't remember right now where that list is kept. My base mail setup doesn't change much.) The combined lists ends up in a cdb file (~vpopmail/etc/tcp.smtp.cdb) which is used to decide if an incoming smtp request will be allowed. (Your file names may be different.)
3) there is some configuration bit that I missed that will when used allow me to send email from many lovely little cafes which are much closer to my house.
If old entries are not removed, you are probably missing the cron job.
If new entries are not being added, are you sure you are really using the right vdelivermail binary? If the binary is right maybe you have mixed two different sets of installation instructions. Different people put things in different places in their toasters, so you may not be able to mix them.
To address these things I am asking: 1) If the cache does exsist where is the documention that tells me how to clear it?
There isn't a lot of documentation... or there is a lot of documentation on the individual parts, but not much on how it all fits together. The biggest problem with Qmail is that it works so well, when there is a problem, I don't remember anything about how to set it up and I have to learn it all over.
2) If its possible to have roaming users to use variable ip addresses where is the documentation for that?
It is possible. I mostly used Bill Shupp's patches and toaster, but I use CDB instead of MySQL, so I had to change a few things.