I asked Invision Free what to do about the SPAM. They don't have the ability to make it so that a new member's first post must be approved. That seems the simplest to me! They suggested three things, two of which I'm already doing. The other thing is this.
Create two levels of members. There are new members and full members. The new members can only post in a new member forum so it wouldn't be specific to a certain topic. If the new member's post seems legit, then I upgrade them by hand to a full member. I could also then move their post to the correct category. It would require some work on my part but should limit all SPAM to that one new member category. I'd have to explain that somewhere in the membership notices if I can find that. Us regular members would become an exclusive club. I would move most of the regulars and moderators to the full member category when I set it up but those that have few posts would have to be treated as new members until they make that first post after the change. I wouldn't be able to tell the good people from the bad if you're not a regular. This may shut out or keep out some new people though or even those that have posted just a few times. What do you think?
In the new member section, can you have something pinned that would explain it to the new members (or just vistors that haven't signed up yet)?
I think it's a good idea and really your only option. The bad side is that it's more work for you.
If you set the whole thing up and it didn't work out, could you reverse it (again more work for you)?