Hola,
 
Como mencionaba es posible que los datos esten incorrectos, 
Suponiendo que $rut sea '16831161', es posible que la fecha máxima sea una que no tenga esa $rut. Me explico con un ejemplo: 
'16831161', 2010-01-25
'16831162', 2010-01-26 
En este caso la fecha máxima es el 26 de enero, pero pertenece a 16831162, por lo tanto el operador lógico AND, va a devolver falso. Reemplazando los valores:  
Código:
 SELECT lugar FROM horario_control
WHERE rut_paciente='16831161' AND fecha_control = '20100126'
  Ese registro no existe en el ejemplo anterior porque la fecha máxima es de todos los registros, no solamente de la ruta '16831161'. 
Posiblemente puedas probar con:  
Código:
 SELECT lugar, fecha_control
FROM horario_control
WHERE rut_paciente = $rut AND
fecha_control = (SELECT Max(fecha_control)
FROM horario_control WHERE rut_paciente = $rut);
  Pero va a depender completamente del resultado que esperas, 
Saludos,