From Humble Daisy:
While creating ProfCast, we wanted to have a way to get the crash reports back to us and not just to Apple. To solve this problem we found Smart Crash Reporter from Unsanity Software, but it did not solve our problem as well as we wanted it to. So we rolled up our sleeves and implemented a solution that provided what we needed. The result a crash reporter that lives within your application. It does not catch the crash in the same way as other solutions. HDCrashReporter, when invoked, looks at the logs to see if the application crashed last time it was run. If a crash was detected, HDCrashReporter asks the user if he/she wants to submit in the crash report. In addition to the basic crash report, HDCrashReporter also sends in a filtered console log so that you can see exactly what occurred before the crash. You can download the framework here along with its source. It has been build as a Universal binary, and thus requires 10.4, but if it is rebuilt, it could run on 10.3 as it uses bindings.