Set isInitialyActive to false and ShowCompleted to false as well, so that it disappears after completion.
Now, instead of the task name and description, the fields are empty, and it still doesn't register the completion.
I'm wondering if the issue is with the script? I used the SetObjectiveVisible command there. Maybe I should change it to GetObjectiveState; would that make a difference?