The issue was mentioned on the StackExchange - http://bitcoin.stackexchange.com/q/4086/323 .
Calling "walletpassphrase" allows one to unlock the wallet for a brief. However, calling it again before the time expires causes an error to be returned and the unlock time is not extended. This could cause some problems with an application that would want to execute calls to the bitcoind instance in parallel. If the application was to lock the wallet after it is done using it, another threat of the application could suddenly find the wallet locked when it shouldn't be. If the wallet is left unlocked, the other application could not extend its unlock time and bitcoind could lock it too soon.
I propose either changing the functionality of "walletpassphrase" to extend the wallet unlock time to the longest of the two or more potential calls it receives, or introducing a new API call that could accomplish a similar goal.