For security reasons, we no longer databind fields that aren't visible, as you've noticed. This was because often users thought making a field invisible prevented its contents from getting to the client, when in fact the values were present in ViewState.
If you need a value of a particular field but don't want to display it, add it to your DataKeyNames property and you can access the value through the DataKeys property. This has the added benefit of saving off the real value of the field rather than the ToString() representation of the value.