On a persistent mission I create tasks with BIS_fnc_setTask, like this:
_tsk = ["RES",[west,civilian],[format ["A group of POWs is awaiting for execution in %1. We must rescue them before %2:%3. Bring them to HQ",_nombredest,numberToDate [2035,_fechalimnum] select 3,numberToDate [2035,_fechalimnum] select 4],"POW Rescue",_marcador],_posicion,"CREATED",5,true,true,"run"] call BIS_fnc_setTask;
When those tasks are SUCCEEDED or FAILED I use the same function.
After some time, I use BIS_fnc_taskDelete, and then I may re-use the task name ("RES" in the example).
Sometimes, from external scripts I use BIS_fnc_taskExists or BIS_fnc_taskState
THE PROBLEM: It seems taskDelete is not deleting properly the tasks, when they are created again, they start with wrong states, such as FAILED or SUCCEEDED, when it's CREATED. But I am not 100% sure.
JIP players also see the tasks in wrong states and sometimes, they don't see the tasks at all.
In the end, we have to restart the mission and at least the first tasks will appear well.