A client of mine has a little consulting company has five people, who usually work remotely.
They're used to using Outlook, but using POP isn't a good option, as e-mails end up being scattered on the different computers. Even if the clients are configured to leave a copy of a message on the server, that only applies to incoming e-mails, with outgoing e-mails only being available on the PC from which they were sent.
How do I allow users to stay with Outlook but keep all e-mails on the server? I've heard of IMAP, which should keep the server and the clients in sync, but I'm not sure. I'm also worried about the latency due to remote access over the internet, but I don't know if that should be a concern or not.
I would seriously consider talking this client out of an in-house solution.
For 5 users it is overkill. With the rise of hosted Exchange solutions, there are a number of reasons to use hosted Exchange (or other hosted solutions such as Google Apps):
Outlook integration with these solutions is seamless, if you are worried about latency use caching. If using Outlook is a must, using IMAP is a hack and you are missing out on a lot of features that would be useful to a small organization such as shared calendars and contacts. The web client with Exchange is great for the times when Outlook is not available.
I am a big open source advocate and have used many different email servers and email clients. The 'king' of them is still Outlook for total business use. And the server that works best with Outlook is Exchange.
That all being said, and hoping I don't come out as a shill for the company, I have used one provider that has been great and that is Intermedia. They have reseller accounts so you can 'upsell' the solutions as you are providing the support for it. Kerio also has a clone that I haven't tried myself but I heard works alright in place of hosted Exchange. There are a lot of players out there so find one that fits your target company's bill. Expect to pay about $10-15/month/mailbox for the hosted exchange plans.
As already pointed out, IMAP was made for just this scenario, and should be fine.
Outlook can be used as an IMAP client, but Thunderbird would also be an excellent choice, possibly better, because Outlook is really meant to be used with an Exchange server.
Another possibility would be to use webmail, where everything is centrally stored. You could use any commercial provider (such as GMail), or if you prefer, set up your own server (or have it hosted). There are many excellent mail servers and webmail packages out there, many free software (such as Postfix, SquirrelMail, RoundCube).
The two options can also be combined (probably best): Most webmail systems can themselves use IMAP (sometimes it's even the default), so you can use IMAP and webmail alternatingly, for maximum flexibility.
As to outgoing mail, most IMAP clients allow you to automatically store a copy of outgoing mail in a folder on the server (either special "Sent" folder, or in the folder you currently are in). Then copies outgoing mail will be available just like all other mail via IMAP. I use this myself in Thunderbird.
EDIT:
In addition to mail, your client might make good use of some kind of groupware/collaboration software with shared calendar etc. See e.g. Is there any open source Exchange server? for some options. Or maybe a wiki is more appropriate. At any rate, having more than just email for communication can be very beneficial. Which solution is appropriate will however depend on the exact kind of work (regular office work, technical support, sw development, creative work, research...).
Configure clients to not save a copy of outbound emails. Also configure them to automatically bcc the same email: "Sent from <address1> to <address1>". Set up a rule that if the email is <address1> and I'm not listed as one of the recepients, then file it under Sent Items.