Go to Admin panel -> Manage -> Lists.
Click on Ticket Statuses.
You can either edit the default Closed item or add a new one.
To edit the existing Closed item, click on it.
Click the Items Properties tab.
Uncheck Allow tickets on this status to be reopened by end users.
Click Save.
This will prevent users from re-opening a ticket once it is "Closed".
To create a new status:
Click on Add New Item.
give it name (Value): for example we use "Closed-NoReOpen".
Click on Items Properties tab.
Select State of "Closed".
Uncheck Allow tickets on this status to be reopened by end users.
Populate the Description field if you want.
Click Save.
This gives you a second "closed" status which does not allow Users to reopen it. You can select this status when closing the ticket and the user will not be able to re-open the ticket.
We get a lot of "Thanks for the help" type of message from users after we close their ticket. So we created the second closed status of "Closed-NoReOpen" that when we receive one of those we can close the ticket to "Closed-NoReOpen" and then any further communications will create a new ticket.