Poké flute can be used in battle (at least in RBY, FireRed and LeafGreen), it even awakes the opponent mon if it is sleeping. This also raises the question: why can't the player use an awakening on Snorlax? It doesn't work on hibernation sleep appearantly.