Cleaned this up a bit using Rudolpho's bit-shifting and I switched to mem-blocks to make my float out of the 4 bytes (shorter codes compared to using pointers).
function MakeDWORD(byte1,byte2,byte3,byte4)
MyDWORD = (byte1) || (byte2 << 8) || (byte3 << 16) || (byte4 << 24)
endfunction MyDWORD
function MakeFLOAT4(byte1 , byte2 , byte3, byte4 )
fl as dword =0
make memblock 1,4
fl=MakeDWORD(byte1,byte2,byte3,byte4)
write memblock dword 1,0,fl
MyFLOAT# = memblock float(1,0)
endfunction MyFLOAT#
(and yes, I moved the "make memblock" command to my init routine, it is only here for the example)
I'm sure it can still be streamlined even more.