I did the same on my project a year ago, changed sheath id in item_template and item.dbc... It has 3 bugs:1) Weapon needs to be drawn and re-sheathed to be shown on players (as was already noted above me).2) If you carry meelee weapon with the same sheath as ranged weapon has, only 1 is displayed.3) When you start shooting with auto shot from distance and creature reaches you within meelee range, you still keep ranged weapon in hands during fight (only visual bug). Its pretty funny, when you just start bashing that damned bear with your rifle .I never found solution for any of these 3 and I'm not sure if it is really possible to be entirely fixed. Giving ranged weapon nonzero sheath is just not something what was WoW made for.
3 depends on what sheath you use, if it's a back sheath it should work though. Had no issues with that on my tests. E.g., one-handed sword in left,shield in right hand and bow on back it works.