If I run:
bitcoind walletpassphrase $password 60
and make a payment, then 58 seconds later run it again to make another payment, I get an error message:
error: {"code":-17,"message":"Error: Wallet is already unlocked."}
then, a couple of seconds later, when I go to make the 2nd payment, the first unlock has timed out, causing the payment to fail.
Better would be if the 2nd call to walletpassphrase just reset the timeout, either to the specified new timeout, or to max(old-expire-time, new-expire-time).
As it is, all I know is that the wallet is currently unlocked, but may well be locked again by the time I get to use it.