Thank you Diana!!!
You were right on the money with the preview-image attribute causing the issue.
I copied the code from the original ColorPicker and renamed it to CanvasColorPicker and tried all these test below.
-Initial Version. NO
-Remove preview-image attribute. NO
-Removed the ',' character from the description-key of the defaultColor property. NO
-Removed the ':' character from the description-key of the defaultColor property. NO
-Removed the '(' and ')' characters from the description-key of the defaultColor property. NO
-Removed # from the description-key and default-value of the defaultColor property. NO
-Removed the default-value attribute of the defaultColor property. NO
-Change name of defaultColor to something else. NO
-Removed the entire defaultColor property. NO
In between all the tests though I was only updating the control and solution versions and doing a publish all. So I took everything back from the start and this time between each test i actually deleted the control completely from the environment then re-imported. It worked on the first test of removing the preview-image attribute! I can even see my #ffffff default value.
Thanks Again Diana!
@HemantG Any way we could get an item put it to just ignore that attribute on import?
