I also bumped onto this problem and I came up with a simple formula that allowed me to make the effect behave "normally" (or so it seems to me):
wSpeed = 2; // should be set with the desired Wave Speed value. The original property must have a 0.0 value
// determines the phase value per frame (I determined by hand that a speed value of 1 equals a value of 24 for the phase, 2 equals 48, and so forth)
wStep = 24 * wSpeed / 2;
// determined the number of steps (frames) until a full phase loop is achieved
wStepCount = 360 / wStep;
// transforms time to frames
// determines de desired phase value
wPhase = -(wTime%wStepCount) * wStep;
It may not behave as it originally behaves, but that's one way to make it work for the whole comp time span.
Hope this helps.
The problem is still there in CS5, and AE CS5.
I have it here, where the required setting is a speed of 0.1, pinned all, height of 20, width of 100.
Stops completely at 21:19 (that's minutes & seconds, not frames)
So it has apparently got better, but is still broken.
What do I need to tweak to get what I need here please?
Phase makes no difference at all to this.