Hi Rick,

Just to confirm that I have my query close to being right and that no tables have been overlooked. Does this look acceptable to you?

The select query:
Code
SELECT USER_REGISTRATION_EMAIL,USER_LAST_IP,
USER_REGISTERED_ON,USER_LAST_VISIT_TIME,
USER_LAST_IP 
FROM ubbt_USERS as u
LEFT JOIN ubbt_USER_DATA AS ud ON ud.USER_ID = u.USER_ID
LEFT JOIN ubbt_USER_PROFILE AS uprof ON uprof.USER_ID = u.USER_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_USERS AS upmu ON upmu.USER_ID = u.USER_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_TOPICS AS upmt ON upmt.TOPIC_ID = upmu.TOPIC_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_POSTS AS upmp ON upmp.TOPIC_ID = upmu.TOPIC_ID
WHERE USER_RULES_ACCEPTED=0 
AND USER_REGISTERED_ON=USER_LAST_VISIT_TIME 
AND USER_LAST_IP IS NULL;

The delete:
Code
DELETE ubbt_USERS,
ubbt_USER_DATA,
ubbt_USER_PROFILE,
ubbt_PRIVATE_MESSAGE_USERS,
ubbt_PRIVATE_MESSAGE_TOPICS,
ubbt_PRIVATE_MESSAGE_POSTS
FROM ubbt_USERS as u
LEFT JOIN ubbt_USER_DATA AS ud ON ud.USER_ID = u.USER_ID
LEFT JOIN ubbt_USER_PROFILE AS uprof ON uprof.USER_ID = u.USER_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_USERS AS upmu ON upmu.USER_ID = u.USER_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_TOPICS AS upmt ON upmt.TOPIC_ID = upmu.TOPIC_ID
LEFT JOIN ubbt_PRIVATE_MESSAGE_POSTS AS upmp ON upmp.TOPIC_ID = upmu.TOPIC_ID
WHERE USER_RULES_ACCEPTED=0 
AND USER_REGISTERED_ON=USER_LAST_VISIT_TIME 
AND USER_LAST_IP IS NULL;

I will of course be backing up before hand!