Try to add tcode as MIRO and insure your test is correct (should be BKPF-BUDAT = SYST-DATUM to raise an error when check is NOT fulfilled)
For MIR4 you could also read 1156325 - BAdIs in the Logistics Invoice Verification environment. MIRO/MIR4 and FI transaction don't use the same FI interface, so behavior is different, read 904652 - MIRO: Different from FB60 and simiar documents.
Regards,
Raymond