1. Do transactions ever time out if not accepted into the block chain?
e.g. if I create a transaction today, and it happens to be invalid, is it possible it will unexpectedly get accepted, e.g. with a later release of the bitcoin block chain code that has policy changes, maybe in x years time? (assuming transaction this would have to be accepted by miner *and* the block chain code)
Or for another example, maybe one less far fetched, consider a non-standard transaction, that isn't included in the block chain any time soon. Is it possible that a miner could unexpectedly process this transaction at any undetermined point in time in the future of bitcoin? Or will the transaction eventually expire?
They do not expire once broadcast. It is possible that the tx will be added to a block by a miner at any point in the future. The tx can be made invalid by double spending the same inputs in a new tx. Once the double spend is included in a block the first tx never will as that tx is now invalid in any block in the same blockchain as the original.