Gargamel is spot on - you have to man the deck gun and load the first shell before it will fire. To do this, issue the "man the deck gun" command then hit F10 to take you to the deck gun. Click on the shell type you want and the crew will load the round. After that, reloading is automatic. I usually do this immediately upon starting a patrol from my base. I also set the Watch Officer's parameters for using both the deck and flak guns as well. When you do actually need them, it may be too late to realize you're running the SH3 default settings and the gun crews just stand there watching the boat get shot to pieces.
However, if neither of Gargamel's suggestions work for you....
Use the Additional Ammo Mod for GWX. As an example (250 deck gun rounds 10.5 and/or 8.8cm...and bear in mind only HE rounds are included with GWX):
http://www.gamefront.com/files/12858...tional_Ammo_7z
OR change it yourself.
There are TWO sets of values you must change in /SilentHunterIII/data/Cfg/Basic.cfg/
make these values anything you want; 250 and 3000 are the GWX defaults
Located after [Torpedo_Type10] and before [Color_0]
[SUBMARINE_AMMOLIMITS1] ;105mm
MaxAmmoPerSlot=250
[SUBMARINE_AMMOLIMITS2] ;88mm
MaxAmmoPerSlot=250
[SUBMARINE_AMMOLIMITS3] ;37mm
MaxAmmoPerSlot=3000
[SUBMARINE_AMMOLIMITS4] ;20mm
;MaxAmmoPerSlot=3000
MaxAmmoPerSlot=3000
Located further down, after [Conning_Type12] almost at the end of the file
[AMMO_TYPE0];10.5cm SK C/32
Idx=0
Year=1939
Month=1
;AP=40 <= these are the stock SH3 default values
;HE=160
;SS=20
AP=0 <= these are the default values in GWX
HE=250
SS=0
Renown=0
[AMMO_TYPE1];8.8cm SK C/35
Idx=1
Year=1939
Month=1
;AP=40 <= these are the stock SH3 default values
;HE=160
;SS=40
AP=0 <= these are the default values in GWX
HE=250
SS=0
Renown=0
[AMMO_TYPE2] thru [AMMO_TYPE10] are for the AA guns. Change values if you wish. GWX default is 3000.