本題は解決しているようですが回答すると、
Group By句は集計の範囲を設定します。対応するHaving句もその範囲内で処理を行います
'Max(出勤データ.月日)'をSELECT句に含めてみてください。各グループ(出力レコード)ごとに、'Max(出勤データ.月日)'フィールドの値が変わるはずです。そのほかのグループ化の設定によっては'Max(出勤データ.月日)'フィールドが一致するレコードも出力されるかもしれません
いずれにせよ、月日でグループ化したデータで月日の最大値をとっても、それは常に同じ値になり、出勤データ.月日 = Max(出勤データ.月日)
は月日がNULLでない限り常にTrue
になります
通報 ...