The stop switch actually doesn't run properly when I replicate your sugestion...the stop switches on the front panel actually just show the time that the program began and then don't change when any of the switches are pressed. They don't respond anyway and just use the starting time of the program in the time difference calculation.
I duplicated just the stop switch logic in the attached snippet and it works just fine. Check you code again. You must have done something wrong, or the DAQ is not returning True for the switch being closed.