If I understand you correctly, you have a process like this:
parallelTasksProcess.png (14.67 KiB) Viewed 3670 times
Where each of the parallel tasks (Task 2, Task 3 & Task 4) has a required checkbox which sends an email when marked.
If just one of the parallel tasks hasn't been completed, then you want the process to advance to Task 5, but you also want that last parallel task to stay open and you don't want the process to be able to end until that last parallel task has been completed. There is no way to do that in ProcessMaker (or any other BPMN compliant software).
What I suggest is that you create a process similar to this one:
keep task open while process advances.png (31.73 KiB) Viewed 3670 times
Where Task 7 has a form with the same checkbox as the parallel tasks to send an email when marked. Task 7 will use Value Based Assignment and all the users assigned to Tasks 2, 3 and 4 will also be assigned to Task 7. The variable for Task 7 is @@incompletedTaskUser and this variable is set to the ID of the user who didn't complete one of the parallel tasks.
ValueBasedAssignmentTask7.png (47.57 KiB) Viewed 3670 times
A trigger will need to be set to execute before assignment in Task 2, Task 3 and Task 4 that will check if there is only one other parallel task left to be completed. If so, then use PMFDerivateCase() (or the routeCase() web service) to route on the case to complete the last parallel task and assign the user of that uncompleted task to the @@incompletedTaskUser variable, so that user will be assigned to Task 7.
Another trigger is create to fired before assignment in the parallel tasks that checks that the checkbox has been marked and it uses PMFSendMessage() to send out the email. If the checkbox hasn't been marked then the trigger code will use PMFRedirectToStep() to reopen the form containing the checkbox and force the user to mark the checkbox.
Is this what you want? If so, I can create a code example for you, but I won't take the time unless this is what you want.