Finally managed to work out why we'd occassionally get a chunk taken out of the middle of the lovely curves, turns out it's because we were double chomping the central pixel in some instances. Now breaks out of the alpha setting loop if it detects it's about to eat the same pixel. Exiting the loop is acceptable as the only way the condition is true is if all other pixels on either side (of the center) have already been processed.
Old me thought single space idents were an awesome space saving idea, current me winces and sqints trying to remember how the hell I ever manged to read it at all!
At the time of writing CSS3 was still up in the air, but now it's set, it makes sense to bring this example into line with the spec.