Came across a module that does exactly this, the Legal module. When an anonymous user registers to use a drupal site, they get presented with the normal registration form with the terms and conditions of the site below. If an administrator adds a user, the first time the user logs in, before they can go any further, they need to accept the terms and conditions. In both cases, it's just a checkbox at the bottom of the terms and conditions that they must check before being allowed to continue.
What's also great, is that when the terms and conditions change, the user is presented with the changes, and needs to agree again. Good job Robert Castelo