What evensplit, brandy, bmoore, felix, and others said.
Do not go anything smaller than 48". You will not have the range, or power. And yes, small gun can take a fish in close...but aint it nice to take 15 foot shots and still get good penatration?
One thing felix got to mention is the other guy on our team, hatescheese, had the same 42" gun, and he lost a fish or two??

oke
Also, a solid stock gun with the trigger and handle mounted to the bottom is just gonna last way longer, can take more abuse. Besides Riffe, wich are a pain (in my opinion) to string (but I still have one) like bmoore said, the A.B. Biller Limited 60". I am going to buy one of them bad boys. Buy a large 50 to 60" gun, and you will only want a smaller gun for out of town relatives.
And important thing to remember...the bigger and heavier the gun is, while it does have more "drag" in the water, it is NOT heavier! (if you stay with wood). In fact the bigger the gun, the more bouyant! SO dont hold a big one up with one arm in the store and think "dang, this is too heavy to hold up", cuz it will be a one hander under water!
Good luck man! Before you buy, borrow. I got three guns, and take at least 2 on a trip, so there is always one for someone to borrow during a dive. NAd with three guns, I still use the same gun almost all the time.