Thanks Wolfgang, that makes sense for the first target. But I think there is still a problem. All subsequent targets (which are far from the moon) get pushed out to the next night. Even though they can be observed this same night.

For example, above, KR_Aur is too close to the moon and is invalid. However the second entry (CH UMa) is actually in a good position (far from moon and 54 deg altitude). The problem is this target gets pushed to the next night.

I would expect the scheduler to skip the invalid entry for KR_Aur and start observing CH_Uma next but it will not.

If I delete KR_Aur, then then CH UMA will flip back to tonight and can be scheduled as expected.