Yes, setting hold on before plotting tends to foul things up -- why would you do that, anyway?
The problem with the set command is that y1 and y2 aren't handle graphics objects handles -- you should save the line handles from the calls to plot to use to modify.