Fetchmail is only designed to fetch new emails, and new emails are sent to the INBOX.
All other mail boxes are used by the email client. eg: when you send an email from outlook, windows live mail, thunderbird or squirrelmail email clients, you tell the client in the configuration where to put sent/trash/draft etc.
This is either a local folder on the PC or an IMAP folder on the server. When sending an email the email client connects to the smtp server, sends the email, and then when it is sent puts the email in the correct folder - usually moving from outbox to sent folders.
So if it was me, i would use IMAP on your server for storing emails, and the ISP's smtp server for sending. I would use fetchmail to get the new emails from the ISP's server and put them in your servers users INBOX's. Any emails the users send are stored on your server in their SENT folder, which you can backup, or copy somewhere else with a script that is run everynight.
I do what you want (without fetchmail) where i backup all emails to backup device, and also have another server connect to the email server and rsync all users email boxes.
You can also tell it to