Yes, you should keep BLO off of the metal. You don't need to take off the stock if you are just going for looks, but if you want the BLO to get to the internals, you'll need to take off the stock and refinish the inside as well.
BLO isn't a great cleaner. Try some "Circa 1850" stripper from Canadian Tire or Home Depot. It won't strip the patina or damage the wood in any way, but it will remove the crud and anything else that shouldn't be on the stock with just one or two applications.
Apply a few coats of BLO, giving ample time to dry in-between, and voilla...