According to LSB 5 this is the case: http://refspecs.linuxbase.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
Sorry for not making a pull request, but the fix is probably something like return 0 unless $start_pid; before checking about sending a signal to init(1) at the beginning of do_stop().
The other explicit cases in that document should probably also be checked - specifically starting an already started process also exits with status 1, IIRC.