This article shows why the German U-boats in WW2 stopped rescuing survivors and even executed some of them. Interesting of note that the person who ordered the bombing was never brought up the charges and that U.S. command still denies wrongdoing, despite the Germans being brought up on trial after the war for commencing similar practicies;
Reality is never black and white. Ok, well, that statement is even a black and white statement. Reality typically is colored in many shades of grey, usually, but there are rare black and white occurrences.
That's right, history never is black and white, and neither is this incident. The prisoners were mostly Italian POWs, submarines are never seen as rescue craft, the Americans may well have determined that allowing the Germans to rescue close to two thousand soldiers who might be redeployed into combat operations was unstrategic. The Geneva conventions start to get pretty dicey when it comes to prisoner treatment if it looks like the prison is going to be taken over by the enemy - do you allow thousands of currently-unarmed but soon-to-be armed prisoners go?
As a soldier and German, I see the logic in the American commander's orders to attack the U-boote since he was not informed of what the submarines were doing. However, he should have been informed that the submarines were in the process of rescuing survivors - including British military personnel and civilians, not only Italain POWs - thus the crime is not with the American commander but rather the American pilot.
During the Great War, it was written policy for U-boote to surface, announce their attack, and give the crew a chance to debark before the ship was sunk. More often than not the Uboot would rescue or transport the crews to neutral ports and on a few occassion into British ports under white flags. However, this became impossible when the Allies started arming merchant ships that fired as soon as the submarine's surfaced. The chivalric thing to do now became the dangerous thing to do.
U-boot war is a tricky business indeed - to act one way seems smart but inhuman, another way gallant but foolish if others do not know your intentions.
In this case, under a white flag/red cross banner, the U-boots should not have been attacked. However, this is dismissed the same as the American soldeirs who shot German prisoners during Normandy and Falaise and the Ardennes, etc. (Not that we were clean by any means, but most of our horrid and shameful actions were done by the SS. There was no such lineation in the Allied Armies.)
They were not the first, nor will they be the last. Every country, every civilization, has it's sins. Some are greater than others, but we need not judge the people of modern Germany for the sins of their past generations.