Destroyers delay the removal of sub casualties, allowing them to fire back in their normal step even if they are hit by a sub. However, both attacking and defending subs always fire in the Opening Fire step, so a defending sub will return fire even if it is hit, regardless of the presence of destroyers. This is because fire within a step is simultaneous. In effect, the presence of a destroyer only affects the ability of surface vessels to return fire when hit by subs.
Just remember you can’t load units into a transport if the seazone is hostile. So for example, the Germans can’t send their transport in the mediterranean to SZ13 to load the units in Algeria to take Madagascar. You have to load units in a seazone which is friendly/neutral at the beginning of the turn.
Think of it this way:
Once you are retreating units out of combat, they may not perform any more action(s) that turn. Their only action is to move 1 step to an adjacent space (planes excepted).