The endian detection and selection only serves the purpose to make the OpENer run on little and big endian machines
without change. OpENer needs to know the endianness of the machine it runs on to know how to encode some data.
Also as Martin already mentioned the EtherNet/IP protocol itself is inherently little endian and all the protocol data keeps its
endianness.
If you want to change the endianness of your IO data in the IO data assembly the easiest way it would be if you put the data
in the g_assembly_data* array the way you want it on the network. This is possible because the GetAttributeSingle() function
that is called internally to transmit the data from the g_assembly_data* array to the network uses itself EncodeData() which in
turn for a assembly would use a plain memcpy() if it is defined as array of bytes.
If you violate the EtherNet/IP spec would in part also be depending on your *.eds file where you declare the type(s) and size
of the content of your assembly object.
YMMV,
Stefan