Basically every change (High/LOW) on the step-pin will advance the motor 1 step further.
The input on the direction pin (also High/low) determines whether the head will travel forwards or backwards.
Different tones can be created by changing the amount of time paused between steps.
Since duration of a note also is important different tones of the same duration indeed require more/less steps.
Beauty of the tone() function is not having to calculate the pauses between steps, but it indeed tells you little about the distance the head travels.
It may be possible to use the tone() function though and simply calculate the distance travelled. A 440 Hz note, played for half a second should move the head 440/2 = 220 steps.
I don't know how accurate this will be, perhaps tone() will change the output pin 221 times during a half second note and 440 times during a 1 second note at the same frequency. If so I'd expect this to happen in both directions and have little effect on the position of the head.
I don't know whether it would work if you connect both direction and step of the floppydrive to same Arduino-pin. The head should remain as good as stationary and if all is right it should step/create music as well.
Stepping out of the starting position should be done by first choosing the right direction on the floppy drive and changing the step-pin (digitalwrite(steppin, HIGH/LOW)) X number of times. This would of course not work in my "stationary" proposal where both are connected to the same arduino pin, every step would automatically change the direction as well.
Disadvantage of the tone()-function to me seems that it only works on one arduino pin.
You'll be limited to one tone at the same time.
By calculating the pauses needed between steps instead and adapting the "blink without delay"-example it should be possible to have several floppy drives "sing" A capella :).
As GoForSmoke wrote I expect most floppydrives to place the heads at position 0 when they're powered, I also expect most floppydrives to be aware of the limits, but to be absolutely sure is something else. Sofar I've only experimented with drives that were all ready taken apart and I was able to rotate the motors the same direction as long as I wanted.
Continuously trying to get past its hardware limits may not be a good idea, but having a stepper miss a step won't ruin it automatically.