Lo que haces con
$dades1=mssql_query(... es ver si se realisó bien la sentencia SQL... no importa si hubo resultados o no.. simplemente compruebas que se haya realizado... por eso te envia al
else.
Para ver si hubo resultados ocupa mysql_num_rows(). Suerte!