This colorpicker seems to always have this bug with certain colors. For example, enter the color "fff000". Rather than use that color, it decides to use ffee00.
While fixhex() seems to output the proper 240 (=f0 hex), when it converts to hsb and back it changes it. I'm not sure what's wrong with the hsb code or why it stores it in that format?