Dario,
Actually when the flow returns from initiate the scan list is already downloaded. The loop will not execute until the scan list is completly downloaded. What might be happening is that the trigger is being sent before the first connections in your scan list gets completed.
For example if the first instruction in your scan list is: ch0->com0 & ch1->com1 & ch2->com2; and if the trigger is being sent before the switch is done making ch2->com2, the switch will not be in the "wait for trigger" state and therefore will miss the trigger.
To ensure the switch in the "wait for trigger" state, use a property node with "Is Waiting For Trigger?" found in Scanning configurations. Place the property node right before "Send Software Trigger".