Hi,
I don't think that is a good idea to use log in to domain when user is not connected to network if you use roaming profiles. The user will receive that the profile is not available a will use a local profile. Next time when the user will try toconnect to network the local profile will be different than roaming profile and user will need to choose one of these profiles. A bad chooses at this point will discharge the wished profile.
Try with local profiles, in hardware configuration definea new one (no network, this is a portable computer, docked or not, etc.) and user will choose at startup a option with network support or not.
About logon scripts, I don't try, but I think that you can make a custom script which will test the network connectivity before executing and place it local on laptop.