I've used something similar in matlab, which I though worked a little better. It started out with red green blue, colors frequently considered maximally distinct, at least on color monitors for the non-colorblind. Then it just found maximally distant points in the color cube. I found it worked nicely and you could also seed it with your own starting color(s).
Edit: found out it is based on Lab color space.