Don't know if the following can be useful to someone able to help me....
I've just realized that the problem is not DataArrival, but the sub GetData. I receive 32 bytes from DataArrival, but after that GetData set the data to empty string, as it is referred in the MSDN online documentation, even if i can't figure out why.
The GetData method syntax has these parts:
Part Description
object An object expression that evaluates to an object in the Applies To list.
data Where retrieved data will be stored after the method returns successfully. If there is not enough
data available for requested type, data will be set to Empty.
type Optional. Type of data to be retrieved, as shown in Settings.
maxLen Optional. Specifies the desired size when receiving a byte array or a string. If this parameter is
missing for byte array or string, all available data will be retrieved. If provided for data types
other than byte array and string, this parameter is ignored.