не встречал этого бага. А можно подробности?
Вот методы чтения/записи

Код AS3:
/** Read a {@code float} field value from the stream. */
public function readFloat():Number {
return readRawLittleEndian32();
}
/** Read a 32-bit little-endian integer from the stream. */
public function readRawLittleEndian32():int {
var b1:int = readRawByte();
var b2:int = readRawByte();
var b3:int = readRawByte();
var b4:int = readRawByte();
return ((b1 & 0xff) ) |
((b2 & 0xff) << 8) |
((b3 & 0xff) << 16) |
((b4 & 0xff) << 24);
}

Код AS3:
/** Write a {@code float} field, including tag, to the stream. */
public function writeFloat(fieldNumber:int, value:Number):void {
writeTag(fieldNumber, WireFormat.WIRETYPE_FIXED32);
writeRawLittleEndian32(value);
}
/** Write a little-endian 32-bit integer. */
public function writeRawLittleEndian32(value:int):void {
writeRawByte((value ) & 0xFF);
writeRawByte((value >> 8) & 0xFF);
writeRawByte((value >> 16) & 0xFF);
writeRawByte((value >> 24) & 0xFF);
}
UPD. Да есть косяк. Number преобразовывается в int
Мне как то не попадались float в моих проектах. Поэтому баг не замечал.