cgraz has the best idea.
echo what the sql statement is recieving.
Maybe $prefix has a space?
Maybe you have a misspelled word?
honestly, my instinct tells me it has to do with the $prefix variable.
something you could try is putting the sql query in a $var.
like so:
$strSQL = "INSERT INTO " . $prefix . "members (username, displayname, password, email, membergroup) VALUES ('admin', 'GBX Administrator', 'admin', 'Administrator', 'Administrator')";
mysql_query($strSQL, $connection);
although i'm sure its probably won't make much of a difference.