IANAL, naturally... but, how about a simple boilerplate displaying:
Quote:
"This forum may contain mature content that parents may not wish their children to see. By entering this forum you acknowledge this and agree you are eighteen years of age or older or have permission from a parent or guardian to view the content stored within."
with a Yes/No or Agree/Disagree?
This would essentially formalize the 'honor' approach, while making sure someone is consciously attesting that they have been warned explicitly and agree to proceed anyway. I don't know how dangerous this is from a legal standpoint, it seems reasonable to me, but the ways of lawyers and litigious types are foreign to me.
(I would've used <blockquote> there but it looks like it doesn't work, so, bbcode quote will have to suffice.

)