Ya que MD5 siempre crea el mismo hash para una cadena X, puedes comparar AMBAS cadenas encriptadas.
Osea, if(
md5($data['password']) != $password)
PD: Tu script redunda, en la parte de:
Cita: $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
Cuando entras al else, no hay necesidad de ejecutar la consulta nuevamente, los datos en $data aun siguen presentes.