Well, knowing now internals of ESDI_506.PDR I solved this puzzle completely from the second attempt
(the first attempt was disabling IOR_IDE_PASS_THROUGH handler to prevent BSoDs):
IDENTIFY (including ATAPI devices) and SMART commands work in AHCI.PDR
Plus fixed few other bugs seen in process of main development, I personally recommend to pay attention to N5.
http://sweetlow.orgfree.com/download/ahci.zip
readme:
Patches of RLoew's AHCI.PDR 3.0
1. Fixed broken handler of information about internal structures
(system hangs/reboots when trying to read them).
2. Fixed accessing an uninitialized pointer variable (wild pointer)
in the power-down handler (SYS_POWER_DOWN) leading to BSoD / hang-on /
reboot.
Thanks to https://github.com/PluMGMK
3. Fixed bug in the handler for ATA commands without data transfer,
such as standby drive or working with removable media.
These commands were previously just not executed.
4. Made new working handler of IOR_IDE_PASS_THROUGH request,
IDENTIFY (including ATAPI drives) and SMART commands are supported.
5. Fixed random CPU port write access in some cases on executing
Input/Output Request.
6. Fixed bug in enable Media Status Notification function.
7. Memory copy speedup in Input/Output Request handler.