Hi,
I'm using bitcoinqt 0.9.3 windows and I have "0.00010000" under "Pay transaction fee". Yet still I see some transactions are sent without fees (and thus are taking extremely long to get confirmed).
Are you sure? Can you provide an example of a transaction that you sent from your Bitcoin Core wallet?
How is this possible? Is this a bug?
Possibly, but I haven't experienced it yet.
And another questions: do bitcoin transactions ever expire?
No, but they can become invalid if a different transaction is confirmed that spends any of the same inputs.
If they have 0 confirmations in a particular time period?
Peers (and miners, and mining pools) can drop your transaction from their memory after a while if it doesn't get confirmed. You can always re-broadcast it if that happens. I think Bitcoin Core automatically re-broadcasts any unconfirmed transactions occasionally.