Not sure I am a fan of packing two meanings in to a single data field. Perhaps a bool or flag for "Never expires". Then another field (which might be the aforementioned 2^32 datetime field, which indicates the expiry. Date of expiry only checked if the bool indicates it is required.
Or is my programming style way out of date?