Or "the game ends as soon as there are x blocks without a deposit" - then the game can go on for a long time, but stops when people stop playing.
I don't see the trust issue in that case. You don't know anything that we don't. Every player can see all the bets, and can decide to bet more or not, just like you can. We have to trust that you'll pay the winner, but we have to trust satoshidice to pay their winners too.
This article is related, has lots of maths, but may give you some ideas:
http://www.chapman.edu/ESI/wp/GeneralizedTullockContest-Sheremeta.pdf
See also: http://en.wikipedia.org/wiki/All-pay_auction
Thanks for the links The pdf I'll read over when I'm more awake as right now it's a bit hard to understand.
I'll do something like that next: if the highest transaction is not outbid and gets six confirmations then that one wins.
Just have to code