After much fruitful discussion and evolution, this proposal is now a series of "Bitcoin Improvement Proposals" -- see BIP 11, 12 and 13: https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals
Sincere thanks to everybody who contributed improvements, ideas and code.
Oh wait, I know why this feels wrong. It's because it's busted.
This should satisfy the 1-of-3 case: "1 3"
Since 3 doesn't satisfy any of the IFs, you will end up with "1" on the stack and "3" on the alt stack.