I'm not sure about the IEEE754 formatting, but I had a somewhat similar problem reading in 4-byte ints from a device that transmitted the ints directly in Hex format (four-byte int, 2's complement, least sig. byte first). Have you tried the [z] format code? That is,
Scan(scan_buffer, "%*i[z]>%*f", bytes_to_read, bytes_to_read, fvals );
where the bytes_to_read is 4*num_of_ints_in_array, and fvals is an array of floats.
Your application sounds a little different, but I thought I'd throw this idea out there. If it works, it's a nice one-line solution.