Sorry, we are both right. The gcc compiler that the Arduino uses accepts "0B" for the prefix, and "B" does not work... except that, through Arduino.h, all of the 8-bit values have already been defined through macros that use the "B" prefix. Your code is OK as it stands because of this.
However, I think that if you want to use an int or a long (with a negative sign or larger than 255) then you will have to use the "0B" prefix.
I do not understand your second paragraph at all but I will wait until some code gets posted.