Your last Version uses hard-coded usergroupid and it don't let the user close his own thread if he started it.
If you changed your Admin Usergroup not to close their own threads, why should they have permission to close any thread??
Anyway, I got another Version which should work for not only the majority of forums but all, because its fully based upon the permission system in VBulletin.
PHP Code:
if (ismoderator($threadinfo[forumid],"canopenclose") or ($permissions['canopenclose'] and $isstarter=$DB_site->query_first("SELECT postuserid FROM thread WHERE threadid='$threadid' and postuserid='$bbuserinfo[userid]'"))) {
$closethreadchecked=iif(trim($closethread)=="yes","checked","");
eval("\$closethreadbox = \"".gettemplate("newpost_closethread")."\";");
} else {
$closethreadbox="";
}
Try to understand what it does, and then use it on your forums

It first checks if the user is Moderator for this Forum or even SuperModerator and then (if not) asks for the permission "Close own threads" and if the User has started this thread.