El problema es que estás llamando dos veces a md5 sobre la misma variable:
Cita: $pass=md5($pass);
$query = mysql_query("SELECT password FROM users WHERE username = '$user' limit 1") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] == md5($pass)) {
Debes llamarlo sólo una vez.