Edge triggered instructions latch the request and run until complete without regard to the input state. They will not begin evaluating the input again until after completion, and will require a rising edge on the input to run again. Using an edge contact on an edge triggered instruction isn't harmful, but neither is it helpful.
A multi-scan instruction does not need to be constantly driven, unless the input is used as both a trigger and an enable, like in the case of some of the CTRIO instructions. The rising edge triggered the profile load, after which the input becomes the output enable.
A multi-scan instruction does need to continue running until completion. If you put the multi-scan instruction in a stage, task, or program that gets disabled before it completes, it will not work correctly. That's why we recommend that you put them into stages and use the built-in stage transition mechanism.
Tasks are generally not the correct place for timed events, use a program instead. Tasks are great for concurrent logic that is enabled by a controlling program, once or recurrently.
A single execution of a task is running from the top to the bottom...when it hits the bottom it is deemed to have completed. If it is enabled to run continuously, it will restart after the specified interval. If the task contains some looping construct, it will take as many scans as required to complete the loop, and then will eventually hit the bottom. That might be one scan, or never if your loop never terminates, but I would consider a non-terminating loop to be broken code.
Programs run continuously until EXIT is called. The motor control I posted was a program block, and I used the timer .Done to trigger the EXIT.