The return value is always zero (even if there are no matches). The man page says the return value is 1 when there are no matches.
For example echo Foo|ack Bar does not return 1
I took a stab at fixing this:
That fixes it, thanks.
This is fixed as of ack2.