Hola,
Posiblemente los datos están mal,
Código:
create database test;
create table horario_control (lugar varchar(50), rut_paciente int, fecha_control date);
INSERT INTO horario_control VALUES('a', 1, '20100125');
INSERT INTO horario_control VALUES('a', 2, '20100125');
INSERT INTO horario_control VALUES('b', 1, '20100126');
Código:
SELECT lugar, fecha_control
FROM horario_control
WHERE rut_paciente = 1 AND
fecha_control = (SELECT Max(fecha_control) FROM horario_control);
==>
No hay nada extraño, a mas que esperaras otro resultado diferente,
Saludos,