Для такой штуки, как Delphi в своё время было найдено немало очень полезных "штучек" невероятно упрощающих процесс отлова ошибок, порой позволяющих их вытравливать ещё на этапе внутренней отладки.
А именно:
<a href='http://v.mahon.free.fr/pro/freeware/memcheck/' target='_blank'>MemCheck</a> - не смотря на то, что автор уже не развивает проект, он периордически доплняет его до новых версий Delphi. Вот, недавно 2005 поддержка появилась.
Модуть встраивается в исходники программы, и, по завершении работы приложения, генерирует отчёт, со списком утечек памяти, созданных, но не освобождённых объектов и тому подобного. Показывает в каком месте была рапределена неосвобождённая память или дескриптор.
Есть компонент (названия сейчас не помню, но могу посмотреть) в составе <a href='http://www.delphi-jedi.org/' target='_blank'>Jedi Delphi</a>, позволяющая не только надёжно перехватывать необработанные исключения, но и создавать отчёт, содержащий в том числе буквально указание на файл и место, где произошло исключение.
А есть что-нибудь близкое по функциональности для FreePascal?