hilit changes assumes that if the end has hilit-chg-delete property, property between END and (+ 1 END) be set. This isn't true if the buffer has been narrowed, which yasnippet does regularly.
Attached patch fixes it. I'm not completely sure if it's the best fix.