I just want to mention a VERY important security update for the next wallet release:
When I go to unlock my wallet for pos, there is no switch to "unlock for pos only", so the only way to stake is to FULLY unlock the wallet, which is VERY unsafe! Also once the wallet is fully unlocked, if you click on wallet, there is no "lock wallet option. These are MAJOR security issues, please make update soon.
Vegas
Did you try "walletlock" ?
I am not sure "walletlock" is a good idea.
A week an a half ago when the difficulty was really high, I decided to use "walletlock" to lock my wallet, so that it wouldn't stake while I was at work.
When I got home, my wallet was locked, but it was staking. When I had left in the morning I had 3 groups of coins that could stake while I was at work. When I got home, I had 2 groups staking, and one was just gone...I quickly exited the wallet and restarted it. It was then locked for real, and when the difficulty went down I unlocked it for real and everything worked fine.
walletlock and walletpassphrase commands are a REALLY bad idea, because the viruses that steal coins take screen shots, and email them to the hacker. The devs know this, and are aware of this issue, and it will require a wallet update, that will need some time.
Vegas
This can be mitigated in several ways. Personally, I use a script stored on a usb stick to run the command at command line level, and then I plug in the ethernet cord again. keyloggers only work on pressed keys. Seeing ^c and ^v in your keylog isn't terribly useful. Another useful trick is to run two sets of the blockchain (using -datadir and nonstandard ports on the sencond chain, and only connecting to that chain from your main wallet. Adds a layer of abstraction.
Security is tough, no matter what. It's a bit easier with the daemon, especially under Linux, but it's still a process.
EDIT: The best way to prevent staking is to put the "reservebalance" line in your configuration with like a million coins. Then, when you're ready to stake either kill it by console command, or comment it out in your configuration file and then restart the client.