jp z,asm_3d74b ; for moves with 0 BP, skip any further damage calculation and, for now, skip MoveHitTest
; for these moves, accuracy tests will only occur if they are called as part of the effect itself
That's my commentary :D
Also yeah, I'm not sure if there is any notable exception but as Isa said, the general rule is that if the move doesn't target then it can't miss. However, you'd have to go through every single move effect to see if it calls MoveHitTest or there is some other sort of check to be absolutely sure. For example, Conversion is only made to miss against a fly/dig target instead of calling MoveHitTest, which also involves making any move calling it but Swift miss against dig/fly.
As for healing moves like Rest though, there's no single reference to MoveHitTest. The reason the healing moves miss if the max hp and current hp lowest bytes match is because, although they are compared at line 14, by the time the result is checked at line 19, it had already been overwritten at line 18 which is the high bytes comparison. A jr nz to line 20 is missing between lines 16 and 17.