Hi,
This post is in the wrong section, it should be in the SharePoint 2007 section :)
There are a couple of issues to deal with here. If the user is a new user to the site, they will not have a profile created unless you've run some sort of script to create all users (profiles ares created the first time a user successfully logs into the site). So you wont be able to get a value from a User Profile to determine if the user has accepted the disclaimer or not (it might fail and that could be enough for you, I'm not sure of your criteria).
I've done this before by using a HTTP Module and checking for a flag set in the AD (as all users are guaranteed to be there), then I direct the user to either the default MOSS page or special page where they can accept or decline the terms. I store a version nnumber of the terms to check against so that if the terms change, by incrementing a new value the users are again prompted to agree. It keeps the legal eagles happy anyway.
The http module always runs and checks the user at login.
Paul Leigh