This is what I would do in the following position. Follow it if you want, if not, fine.
What I would do is completely and cleanly delete the mail account, including the local contents on your drive. This only applies to IMAP & IMAP Exchange accounts, since the mail still exists on the server after it is fetched.
1) Delete the account in Mail Preferences > Accounts > Hit the - mark to delete the account. Exit from mail.
2) Under System Preferences > Mail, Calenders, & Contacts > Do the same.
3) Delete all the contents from ~/Library/Mail/ related to the account. "~" denotes the path to YOUR library, not the system. The Full path would be /Users/yourshortusername/Library/Mail/
4) Delete the following:
~/Library/Containers/com.apple.mail/Data/Library/Caches/com.apple.mail/
~/Library/Containers/com.apple.mail/Container.plist
5) Shutdown your machine. Start it back up.
6) Enter mail and add your account again. Under Mail Preferences >Accounts>Advanced>Keep copies of messages for offline viewing > select "All Messages and their attachments"
7) Leave the mail application open and let it rebuild. If you wish to check the progress, open the "Activity" window under Window > Activity. This process can take hours depending on the size of your mailbox, and mail WILL be slow and unresponsive while it is fetching your mail from the server and rebuilding the cache directory and mailbox. The computer usage of processes such as "mdworker" and "finder" may be elevated as well as the mail is getting indexed.
8) If you let the process complete (you will see no activity in the activity window when done), your mail account will run smoothly again.