In addition to the above...
thanks! could you be more specific? who re-broadcasts the transactions every 30 minutes - my specific client? or everybody on the network aware of my transaction?
If you happen to connect to a client that isn't aware of your transaction (or rejected it in the past), and they accept it, they will broadcast the transaction to anyone they are connected to when you rebroadcast the transaction.
does a miner queue up all the unconfirmed transactions known to him when considering who will enter his next block according to their age?
Pretty much. However, age is just one factor taken into account.
if not, isn't it possible for my transaction to starve forever?
Yes, that's possible. That's why the client has built-in checks to make sure that you pay enough fees so that this won't happen (at least, currently; all bets are off once most mining pools start modifying their clients).