Man, I'm a programmer.Are you sure windows is misreading it or are you just getting confused with the difference between 1 megabyte and 1 million bytes (they aren't the same).
You missed the point. How Windows or any other software can obtain disk size info? Its only FAT or there is some other place? There can be a readonly sector on disk to keep such info!There are many scam USB drives from China (less than reputable vendors) that intentionally mislabel flash drives. It would say, for example, 4GB on the box and the drive, and Windows would detect it as a 4GB drive, and it will work fine until you try to write, say, more than 128MB of data to it. Then bad things start to happen.
Imagine a fake Flash Mem like your example. It is 256MBs. But it has fake info in it(beside the label) that makes Windows think that its a 4GBs one. Can we fix this by knowing the exact disk specs and rewrite them on FAT? Can we obtain exact right specs from flash somehow?