At a glance, I think your problem is that when you first start the PLC code OP2 and VAR2 are both 0. You will need to have your temp cycle once below 83 then above 88 before your 'BZ DONE' doesn't skip to DONE on an OP2 value of 0.
In other words, because your code is designed only to send an email the first time through after a change in status, you aren't seeing a change if it booted up at that value until it has a chance to switch to the other value.
EDIT: And for that matter, you should have the same issue with your OP1 values. If you boot your system with both OP1 and VAR1 starting out at 0, you won't get your first EMAIL2 sent until after you first have an EMAIL1 event (or in other words until OP1 has changed to 1, then changed back to 0.)