I think you need a new mechanic!. Actually what he says is partially correct, the reverse gear has a little arm on the reverse lever that activates the reverse light switch and hence the reverse lights comes on. What has happened is somehow that little arm has been bend and is now no longer activating the reverse light switch. In order to resolve this issue you will need to open up the gearbox, and re-bend this arm to its original position. There is no need to replace the entire gearbox!.
Of course removing the gearbox is a heck of a lot of work, so I suggest only do it during your next clutch change and do it at the same time. In the meantime just find a workaround by installing a bypass manual switch for the reverse switch. You can just buy a normal on/off toggle switch from any of those electrical shops and connect it to the reserve lights wiring. Then when you want to reverse manually turn on the reverse lights. Of course remember to turn off after finishing your reversing la else you will be driving on with your reverse lights still on.
This is of course just an interim solution. If you are really bothered about then just take out the gearbox and have a look at that arm thingy I mentioned above. This exact same thing happened on my car and it was a quick fix except for the fact that the entire gearbox have to be removed. Good luck!