Sorry for the long wait. There are two parts in this ticket:
1. exit status
With Pod::Usage 1.69, the exit status is correct - according to the documentation. If you want a specific exit status of pod2usage, specify it with -exit on the command line.
2. formatting
It seems that more recent versions of Pod::Simple (the underlying POD parser infrastructure) does not parse the '-' filename correctly. I made a change, and that fixes the problem - to be released soon as Pod::Usage 1.70.
Caveat: when pod2usage is reading from STDIN, it will format the output with Pod::Text; this is because perldoc, which is normally invoked when -verbose >=2, cannot read from STDIN (because the pager will need STDIN). So if you want all the nice highlighting of perldoc AND need to pipe the input into pod2usage, then you will have to use (adding also exit status 0 here):
cat myfile.pod | pod2usage -verbose 2 -formatter Pod::Text::Termcap -exit 0
Please let me know here whether this answers your questions. Stay tuned for the release of Pod::Usage 1.70.
-Marek