faltan cosillas
a ver tu código quedaría asi:
[delphi]
qryHayMensajes.ParamByName('User').Value:=Edit1.text;
qryHayMensajes.open;
if qryHayMensajesNumeroMensajes
.value >=1
then begin image1.Picture.LoadFromFile('BallRed.Bmp')
end Else image1.Picture.LoadFromFile('BallRed.Bmp');
[delphi]
como ves tienes que abrir la consulta antes de preguntar por un campo y añadir el .value a tu field para que te saque el contenido del mismo.
Saludos, Tony