If you only want to detect duplicates, maybe you can use INSERT....IGNORE to cause it to ignore duplicates, then check the number of rows to see if it affected 1 or 0 rows (but I haven't tried it so I'm not sure if it works). If it works then you could remove the hide and vbulletin would handle any other errors.