Vous semblez toujours vérifier isset() même si la question n'est pas de savoir si elle est définie, la question est de savoir si c'est vrai ou faux. PHP munge beaucoup de choses lorsque vous vérifiez les variables en tant que booléens mais isset() sur une variable définie contenant false renverra toujours true.
Essayez d'échanger
if (isset($_POST['GFCheckbox']))
pour
if ($_POST['GFCheckbox'])
et voyez ce qui se passe.