I must admit that I’ve not looked into the init scripts myself. Is there any kind of specification that describes what the exit status for init scripts should be in each condition? One could argue that the script itself ran just fine, which could explain the exit 0.
Coinsidently, someone else also checked in LSB-related changes. I piggybacked on the same issue: OF-433. The changes that you propose have been applied. Note that this does not make the script fully LSB compliant - other functionality is still missing.