CS-Labs stuff is good, and if you have the budget for it, then there's no real reason not to use it.

Does the spindle have a full incremental encoder, with A and B outputs?
I know my cyclone only had an A output, and I had to connect up the additional terminals in the encoder to get the B output.

Toolchanger should be relatively simple IIRC. If it's the type I'm thinking off, then it simply rotates the motor one direction to change position, then reverses the motor at reduced voltage/current so it stalls against the ratchet/pawl. I think I've seen macro's over on the mach forum to implement it. I think it's just done on time delays, as they don't have any position sensor.