I do like when someone helps me to think out of the box. I was aware of _UNSIGNED LONG as the "correct" type for 32 bit color, but storing color values in _INTEGER64 with additional and/or command data never occurred to me as a thing that one could do. Thanks for that.
I actually use INT64 quite a bit for a color variable in different routines. Anything positive is usually a color for the code, whereas negative values have preset command uses. For example, a color value of -1 might mean (No need to redraw), which allows me to completely skip processing cycles on drawing/coloring something on the screen that hasn't changed. A color value of -2 might mean (Use Default color scheme), which is a normal black on white, or black on light gray color set. A color value of -2 might mean (Use High Contrast color scheme), which is what many folks laugh at when they see some of my demos on the forums here. My daughter isn't 100% color blind, but she has colors which fade and blend in together for her. For instance, she can't tell the difference between a Sea Green and a Sky Blue -- though she can tell a bright green from a deep blue! Learning to code for HER eyes has led me to create some *very* distinctive color styles over the years, with a bight red on yellow being one of the most common -- which nobody else seems to enjoy using! LOL! Having a quick value to swap over to her high-contrast colors has came in handy more than once for me, so I'll often code it in as negative value colors. ;)
All little tricks which I use to help me with my programs/colors from time to time.
Another place where I'll use negative colors is when I'll make a grid for a map. Negative values might mean (Map not uncovered yet), while positive values means (Show this part of the map). It's a very simple little toggle to keep track of where the player has traveled and uncovered, and allows me to create a very simple "fog of war" which greatly encourages map exploration.
_Unsigned Long is my go to for when I just need plain color values. BLUE~& = _RGB32(0, 0, 255), for example. Integer64, however, is what I'll often use when I need my color values PLUS just a little bit more.
As I said in the lesson above, it's all up to what the programmer and their program itself needs, to work as bug-free and as efficiently as possible. ;D