One way we go around this was to setup a "Resolved" status type for the tickets. Once we set it to resolved, the end user will receive an email asking if their ticket was resolved with a "Yes" "No". When they click yes, the email is sent back and the ticket closes automatically. If they respond "No" it reopens the ticket. We found that they can reply in the email confirming their resolution with a "Thanks" without re-opening the ticket.
To setup a Resolved status type, go into Settings -> Tickets -> Status Types. If you don't already have a status named "Resolved", create one. Once you have that created, go into the settings of the Resolved status type by clicking on it (while in the Status Types settings) and check off the "Prompt Client to Confirm Ticket Resolution" check box and save it. We also created a custom field called "Resolution" (Settings -> Tickets -> Ticket Custom Fields) and made it a requirement for when the Resolution status was selected so the Tech does not forget to enter a resolution.
They will still be able to re-open the ticket by responding to the original ticket confirmation they received.