That is not the case and the root of the problem here. The closest you can get to 22.6 with a 22.10 fixed point type (i.e. var) is 22.599609375, that is in binary form 10110.1001100110. (Calculated very fast on a piece of paper, may not be precise)
Thanks Uhrwerk, that's what I was missing. I mean, I knew it was 22.10 fixed point type, but since it's always described here as "accurate to 3 decimal places" I assumed it was so, and didn't consider the limitations of the 10 bits at the end.
EDIT: I'd like to apologise for my reaction to Petra's response. It was mostly a well-worded and helpful response. Calling an experienced user a beginner is, however, insulting, so I can totally understand mercuryus's reaction (his post-count and date registered should've been the first and most obvious clue that "beginner" would not be an appropriate thing to say).