Are your turning your key off before the car is stopped? According to GM, this may be your problem:
The BCM (body control module)does not recognize that speed has dropped below 6 Mph if ignition is turned off prior to or as the vehicle comes to a stop. Due to a lag in updating vehicle speed, depending on the rate at which the vehicle is stopped, the BCM may continue to register some vehicle speed momentarily after the vehicle has actually come to a stop. To activate the headlamp off condition, BCM must register a vehicle speed of zero, as well as driver's door switch cycled. If the ignition is switched off while the BCM is registering 6 Mph or greater, the headlamps will remain on even following cycling of the drivers door switch.
Customers experiencing this condition must be advised to ensure that the vehicle is brought to a complete stop, and perhaps delay switching off the ignition momentarily after stopping the vehicle.