Russell,
This is not the case. The digital line's state does not change when .LineDirection() method is called to set the line as Input. It remains Low. Rather, it only changes after .SingleWrite() method is called. I tested this by having four buttons each with an OnClick event handler performing only one task:
#1: CWDIO1.LineDirection := 0;
#2: CWDIO1.LineDirection := 1;
#3: CWDIO1.SingleWrite(0);
#4: CWDIO1.SingleWrite(1);
Sequence of tasks was #2 to set line as an output, #3 to set line Low, #1 to set line as an input (bit stayed low), #4 to attempt to set bit high - it should not be able to be changed since line is now an input but it did change High.
I tried to duplicate this with LabVIEW using DIO Port Config.vi and DIO Port Write.vi
and it looks like the bit does get set high when the line is changed back to an input as you expected it to.
Steve