Untangle Django (How should I start going at a lot of legacy code of several years with django that started in 0.97)
This is probably a place where lots and lots of tests will help you. It's not my project, but here's what I'd probably do:

Start a completely new project in Django 1.4
Write front-end tests for the current application
Write a script to migrate the database from 0.93 to 1.4 (it sounds like you have lots of special cases, with your patches, so I hold no hope for anything automated)
Write lots of unit tests for the 1.4 application.

Take it module by module, and eventually you'll have everything updated.
I know it sounds like a lot of work, but it will save you time in the long run. Also, the expertise on 0.93 is slowly dying as we move further and further away from it, so you're better off staying current. That way, you can take advantage of all the new techniques for performance and such that are coming out today.
So herein lies my question. 
Django project that was originally developed several years ago when django was still 0.97 version. The code was continuously built on to the point where I think band aids upon bandaids on top of bandaids is not going to cut it. 
How can I start with untangling this django project?
Currently the project is in 1.2.7
Python being used is 2.6
The main thing I want to find out is what have been the most common traps that people fell into when developing a django project.
*The unit tests are most definitely one place to catch problems, but I was thinking of something more general. For example several pages take a very long time to load, if anyone had similar problems what were their solutions?