These days I'm not a big fan of binary-ism in rpgs - "You have power X? You win easily! You don't have power X? You fail utterly!" - so I voted for option #3. Magic weapons are good but not essential.
I've heard an argument that affecting otherwise immune critters is actually the main benefit of magic weapons, not the plus, though that was in the early 90s. I think that's correct. In those days, it probably was the key feature.
The idea of immunity definitely fits the source material. And it justifies monsters that can only be beaten by a Big Damn Hero. Even an army of mooks can't touch it. This is actually a pretty useful thing in rpgs because otherwise questions can arise like, "Why doesn't the baron just send a hundred of his trusted men-at-arms to kill it? Why did he hire this gang of mercenary weirdoes?"
Immunity is fine, I think, if those who don't have the necessary weapons can still do something else reasonably useful. For example, the cleric can cast healing spells, even if his mace has too low a plus. Aid another doesn't meet my personal threshold of useful.
How rare are magic weapons? Does every melee guy in the party have two (one for use and one for Sunday best), plus one for his henchman? If so, then immunity to non-magic weapons is irrelevant.
I think it's better if it's more specific and more plot-based. Not a type III demon that requires a +2 or better weapon to hit, but a specific named creature that can only be hurt by one specific weapon - the Knucklebone Demon of the Forest of Orwold can only by harmed by the Iron Star of Isis. Specific is good. D&D often isn't specific enough. It only seems to arise at high level, typically, when you get artefacts and monsters with names. Imo it should appear at a much lower level.
Pixel bitchery could be an issue here, but I think it's fine so long as the PCs don't absolutely have to deal with the demon at all. Or other approaches, like bargaining with it, hiding, trapping it, etc work too.