In my experience, they will show charity ads until the AdSense bot comes by to spider - remember that each thread has to be spidered individually.
There could be other issues at play regarding the spiderability of your forums. If your forum uses session ids, all you will get are charity ads (since it takes each thread with a unique session ID as a new URL). And depending on how your dynamic URLs are written, that is another possible reason why your forums are only showing charity ads.
Try the support site for the type of boards you have, and find the information on Google - you will probably find a mod solution that will allow Googlebot to visit, and change it to allow for the AdSense Googlebot instead.
You might also want to check you robots.txt file to make sure that is allowing bot visits.
We keep getting charity ads on different parts and threads of the forums. I'm assuming because the content is always changing. Is there anyway to avoid this?
Have you ever gotten anything besides charity ads? If not, it could be that your site just hasn't been spidered yet. Otherwise, it could be that Google feels that the pages have changed too much since the last spidering.
like say the main forum index...we'll get some highly targeted ads for a few refreshes, then all charity ads for a while. Stuff like that happens on all sorts of different locations on the board. The forum is running Vbulliten 2.3.0, no hacks installed atm.
That version (2.3.0) of VBulletin uses session IDs on their URLs, which means Google won't be able to provide you with content targeted ads. Targeted ads may show up, particularly on the forum index, because a user might visit the forum index page and get their session ID, view some threads while the AdSense bot pays a visit to the index URL with that particular SID, then when they reload the index page it will show targed ads.
But with session IDs, the AdSense bot believes every individual SID is an individual page.
If you cannot tell what a session ID looks like on a URL - http:*//www.yourdomain.com/forums/showthread.php?s=7443300880d2bacb38235b9f81d63861&postid=56071#post56071 is a sample URL for that version.
That s=7443300880d2bacb38235b9f81d63861 is the session ID, and it will be a different string of characters for each visitor, and it will change to a new string when they return for another visit.
As long as your board uses session IDs, you will not be able to show content targeted ads. I am sure VBulletin would have some sort of hack for removing session IDs - check out their site.