You could try playing with the etc/pci-optionrom-exec setting.

See QEMU's -fw_cfg command line option.  You'll need to pass in a
binary integer zero or binary integer one to control that setting.

 
I tried the pci-optionrom-exec option but it has the effect that
the screen stays black:

$dd if=/dev/zero of=/tmp/pci-optionrom-exec bs=1 count=4
$qemu-system-x86_64 -hda testimg.img -cdrom FreeNAS-11.2-BETA1.iso -boot d -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x7 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -fw_cfg name=etc/pci-optionrom-exec,file=/tmp/pci-optionrom-exec
(the vfio_pci device is 0000:01:00.0 is the SATA card)

There is no seabios version printed out, still the cpu is at 100%. I also
recompiled seabios 1.11 with standard qemu options and disabled 
the OPTIONROM config setting. This had the same effect as when 
running with pci-optionrom-exec==0 (black screen).

I then recompiled the  seabios 1.11 with the standard qemu options only
copied it to /usr/lib/qemu/bios.bin and changed /usr/bin/kvm (which libvirtd is calling at boot) 
qemu-system-x86_64 -enable-kvm -bios /usr/lib/qemu/bios.bin "$@"
This gave me a workaround:
It seems like the baked in seabios 1.10 sets the SATA card into a state
that even if I start qemu with "-bios /usr/lib/qemu/bios.bin" next time it will hang.
Never using seabios 1.10 and only seabios 1.11 seems to make it work (no 1min hang)...
Not shure what was wrong in the first place though..