Radar: Surface Clutter and reflection of land masses. The possibility of losing/not gaining radar contact due to it being close to land.
Variable Crush depths for Submarines: Each boat (instead of each class) could be given a unique crush depth when it is "comissioned" by a player. If a player chooses to "cheat" by taking his boat below crush depth (just to see where it is) and then reloads the game, have the simulation recalculate the crush depth so it will be different on the sim reload (and recalculate with a -5%

).
Merchant Cargo: Add Timber as a cargo type with the associated increased bouyancy.
Submarine Fuel Bunkers: Model fuel bunkers and potential damage to them. Leaks would make it easier to track a submarine (submerged or surfaced). A damaged tank could cause a loss of fuel no greater than its capacity. Add the ability to convert appropriate ballast tanks for fuel stowage.
Compressed Air: Should be used for diving, leveling, surfacing, trimming, checking "air in the boat" and firing torpedos.
Submarine Depth Control: The possibility of broaching/going deep from firing torpedos, sea state, very slow speed or improper trim when diving. This should be heavily based on the diving officer's experience/capability.
Escort Convoy/TF Coverage: Create "Ranged Escort" positions where an escort is stationed ~5000 yds outside the close escort. Give escorts dynamic zones to cover rather than having them work from a single static point in the screen.
Proper Crew Rotation and Complement: Rotate members of the crew after each patrol. Limit number of ranking officers and Petty officers to historical standards. Allow the Captain to "request" retaining up to 10 specific crew members and a "decent" chance of having that request granted.
Torpedo Reloads: When ordered to reload torpedos, all torpedomen participate whether or not it's their watch. Torpedos should be loaded about the same speed whether at battle-stations or during an acey-ducey tournament.