It can take a day or more to get in synch, so it's somewhat problematic to only start it when I want to transact. But are there any security issues in keeping it running constantly?
What's the general practice for those using local wallets?
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It only takes a minute to sign up.Sign up to join this community
You have to keep it running only until it's fully synched. Once it's synched there's no need to keep it running all the time.
There aren't really any security issues with keeping it running. If your wallets are protected with a password, there's really no security implications with keeping Bitcoin-QT running.
One benefit to keeping it running all the time is that you're helping the Bitcoin network by validating and relaying transactions to other peers. This is also greatly improved if you open the 8333 port on your firewall: https://en.bitcoin.it/wiki/FAQ#Do_I_need_to_configure_my_firewall_to_run_Bitcoin.3F
The first time you load the client, it can take some time to download the whole blockchain (currently something like 15 GB). However, if you close the client and then reopen it, the client will only download the new blocks from the blockchain that it hasn't seen yet. The previous part of the blockchain is already stored on your computer.
To catch up a day's worth of blocks should only take a minute or two. It's perfectly reasonable to close the client when you're not using it.