Se intendi qua:
$username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
Gli dici di selezionare (select) lo username dove (where) lo username è uguale a $username, che onestamente non ha senso secondo quanto conosco io.... Piusttosto avrei fatto un
$result = mysql_result(mysql_query("SELECT * FROM users WHERE username LIKE '$username'"), 0);
così creo un array con tutta la riga dell'utente
poi avrei fatto:
$username = $result['username']
$password ? $result['password']
....
Forse sto dicendo una cavolata, ma in mysql le query non sono case insenitive? Per renderle sensitive va mica aggiunto BINARY?