That's correct. Most Pocket PCs use RGB 565 encoding, which assigns the bits to the individual color elements in just that way (RRRRR GGGGGG BBBBB). On most computing hardware data must at least be evenly aligned. Thus you would store an RGB color value in either 32 bits / 4 bytes (even if only 24 of the bits are actually used), or 16 bits / 2 bytes (I'm ignoring palettized, grayscale, etc). Obviously 16 is not evenly divisible by 3, so either one color element gets twice the precision as the others, or you ignore one bit completly. The latter is what is done with RGB 555 encoding. I don't know of any Pocket PCs that use RGB 555.
So Yes, you have to go through an algorithm similar to what you posted to convert RGB 24 to RGB 565, and yes, information is lost in the conversion, and yes, green has twice the precision as red and blue in RGB 565.
Dan East