It is possible that your leak is caused by wear on the driveshaft, and this can sometimes only be a problem once the seal is disturbed.
Really, you need to have the driveshaft out and see if there is any damage or a wear groove in the shaft where the lipseal sits. This may be why your mechanic tried the seal protruding, so the actual lipseal sits on a better bit of shaft. If the shaft is worn, you could fit a wear sleeve, (Speedi-sleeve, Redi-sleeve, etc.) - they aren't cheap for what they are, but cheaper than a new driveshaft.
If the casting of the gearbox is damaged, it could be damaging the seal as it is inserted. This would need to be rectified before inserting a new seal, but it should be obvious to your average mechanic with a cursory feel with the digit.