semmar1,
This was a design decision that was made for DataSocket a long time ago. If you read from a dynamic data item that has not yet been written to, you will get the default data value for that item. That is, you will get either a FALSE, 0, or "" as a value. The timeout is there as more of a way to know if the network is down or not.
Randy Hoskin
Applications Engineer
National Instruments
http://www.ni.com/ask