Hi,
1.
the system still marks the survey as completed
No, it does not. But you also count "not submitted" responses.
{statCountIf(TicketID.sgqa, TicketID.NAOK, 0
, 0)}
Refer to the manual
count number of responses (submitted or not) : {statCount("id", 0)}
count number of submitted response : {statCount("id")}
I suppose you only want to count submitted responses.
This means it is obvious that you see your end message (even in not submitted surveys the count is >0)
In my opinion you'd should use a quota to screen out respondents who try to enter an already submitted survey again
2. I can't reproduce.
But before you complain about an issue you should update to the actual version.
Your version 6.0.7. is nearly 2 years old and as you see, it's one of the first releases of the 6.x. branch.
3. Here you have to think about other ways how to link LimeSurvey with your ticket system.
You could use the API to create a new record of the respondent with ticket ID, subject, and customer email as additional attributes.
Run it as closed survey with e.g. ticketID as token.
But this is only a rough idea.
Joffm