My system is a combination of paper-based and PDA. I have a large number of ongoing projects which need occasional prodding (sometimes over 3-6-12 months). Most of these are managed using the paper-based part of the system, except for my email component..
My low-tech solution is a checklist (sheet of paper) with all the relevant info (customer name, phone & email, project description, etc). This is backed up by a file folder containing quote, drawings, correspondence, etc., which may contain anything from a few pages to 2-3" of documents. The file folder is filed in a drawer and retrieved as needed.
The checklist sheet has pre-printed suggested reminder intervals, but there is space allowed for me to change the suggested interval. Whenever I visit, call, or email the customer I make a brief note on the checklist summarizing the content of the contact. Most importantly, I immediately note on the checklist the next time I am due to contact the customer or whatever the N/A is. I then photocopy it, placing the photocopy in the file folder and the original in my tickler file based on the follow-up (N/A) date.
My system uses Tuesdays as my default follow-up dates. If a customer contacts me unexpectedly in the interim, I can either look at the photocopy in their file folder to see where I ticled the master checklist or I can just flip through the next 4 Tuesdays in my tickler file (if the follow-up is more than a month out I might need to look at one or two month's tickler files). It usually takes me no more than 15-30 seconds to find the checklist while we are talking & quickly review the history.
I manage about 100 - 150 customer contact projects using this system, in addition to a large number of projects other than these.