Какой движок БД, Inno, MyISAM? Можно попробовать использовать транзакции - ничего не помещать в БД пока все не готово. Если скрипт действительно запускается от 2 до 5 раз, значит, он где-то и вызывается столько же. Записывать параметры каждого запуска в файл, вместе с timestamp. Один INSERT не может создать нескольких пользователей. Такое случается, если одновременно запустить несколько копий скрипта? Или даже при работе в один поток? Если последнее, то он где-то обращается к самому себе, и создает еще нескольких пользователей, либо в коде наявны два INSERTа.