it's a networking problem. it's more efficient to send the client the colour set once and then send them one number 0-63 for every brick
A well-designed system could do both - have short identifiers for common colors, and only use full RGBA for rare colors. As the proportions of colors change, change the colorset to represent the new most-common 64 colors. Since this would happen fairly rarely, and you would only need to replace one color, you don't have to change the entire colorset.
The
real reason is probably code inertia - it's been this way for a decade, and changing it will definitely break other parts of the game's code, so why bother messing with it when the current way is good enough for most people? It's a serious problem in code design that old code eventually solidifies, even after you've realized a better alternative, because of the high cost for changing intricately-linked code.