Unless your needs are truly unique, don't bother writing your own. ACT! is an excellent program (comes in single and multi-user versions), and in another career, we used it to record all customer support interactions in a call center of 6 people, 4 salespeople, 11 developers, and several managers for a client base of about 2,000. In my current work, we use a software called ECCO PRO (no longer sold) which was even more sophisticated than ACT!, but has a steep learning curve. I think it's flexibility was its down-fall, as it is extremely powerful, but most users just got overwhelmed with the options. Works fine for our group though.
There are a number of programs servicing the need of tracking prospects, leads, customers, and contacts, although ACT! and Goldmine are the top sellers.
The minus is that before you implement it for your company, you need commitment from everyone that they will use it, you've got to flow-chart your basic sales or support interactions, and set up the package to reflect this reality, and then train everyone to use it correctly. In our support centre, the software was installed in one week, but it took about six months to get everyone on board and participating. It just takes one person who keeps their customer interaction offline to screw things up. And everyone has to remember to record the last interaction with the customer or lead BEFORE going to the next one. This includes what was said, what was promised, and any other important information.
The plus, is that once everyone's on board, it becomes quite easy to stay on top of followups, and get the full history of the interaction with any customer.
In our own system (built using ECCO PRO), we track all contacts, classify them as to business potential, record each contact (sale, service call, information request, etc.), and review the database periodically. Couldn't run our business without it.