I thought for sure that WaitForSeconds was independent of a device's processor speed to the framerate but tests I am making on a Mac and an iPad sure make it look like that is not the case!
WaitForSeconds waits a specific length of time, and time doesn't run differently on different devices, so yes, WaitForSeconds runs the same everywhere. The problem is that when you get down to tiny bits of time like that, you're going to run into framerate problems, since the minimum of amount of time that you can yield is one frame. With WaitForSeconds(.01), you're asking it to yield for 1/100th of a second, but the fastest you can draw frames on an iPad is 60fps, and probably you won't get that much. Therefore, since it's impossible to yield for .01 seconds, it's going to yield for a frame instead, and 10 frames on an iPad is going to be slower than 10 frames on a Mac.
What you apparently want to do is make localScale.x expand over .1 seconds, so you should code that instead of trying to use WaitForSeconds in a way that can't really work:
var growRate = 20.0;
function Start () {
for (t = 0.0; t < 0.1; t += Time.deltaTime) {
transform.localScale.x += growRate * Time.deltaTime;
yield;
}
}