I saw that Big Boo's Boss HP address is 0381A2, so I tried this:
LDA $!BossHP ; this is defined as 0381A2
CMP #$00 ; is it zero?
BNE .return ; if not we're not done yet
; [Working code here]
I removed the 'BNE .return' line to test whether the rest of the code does what I want, and it does. The problem is definitely in that comparison.
Is there a special value that I should be checking it against, or am I doing something else wrong?