I think this problem is based on the date. In 1940, a quite high number of torpedoes were duds. Even aces like Günther Prien or such were firing all their torpedoes without hitting the target. Maybe you should try to play in another period - then the problem should be solved.