That’s what I thought – common mistake.
If you look at the definition of PDColorValue, you will see that it is a *PDColorValueRec. You can’t pass an unitted pointer. If you define theColor as a PDColorValueRec and then pass as &theColor, you will be good to go.