My rule is this: if he can get dressed without crying, then he can stay for Lunch Bunch at preschool. (Lunch Bunch means he gets to stay for an extra hour of school and eat lunch with his classmates and then he gets 40 minutes of playtime before going home.) The Lunch Bunch reward works well because you cannot just show-up for Lunch Bunch, you have to sign-up in advance. This means:
a) He has to have a good morning in order to get permission (from me) to attend Lunch Bunch; and
b) He has to have a good morning on the actual day of Lunch Bunch or I won't let him stay for lunch.
So as stated, if he has a good morning, he gets to stay for lunch. Do you know how many times he has stayed for lunch so far this school year? 2 times. That's all. That means he has been a screaming maniac for the other 50+ days of school.
I sincerely hope he is turning over a new leaf. I will keep you posted.