Unit testing and TDD make you go faster. Once you learn how to do it, you get from starting a project to done faster. This assumes your definition of "done" isn't "slap something together and ship it". Done should include testing, support, new features/enhancements etc.
The world is filled with little VB6 console apps and Access databases that were intended to exist for weeks or months that are now keeping companies running and have been for years. Throw away apps and apps that you "won't touch again" are a myth. It doesn't make business sense to throw away that work and make a new, better app. The manager/PM is going to look at a proposal to write a new app from scratch and say, "Don't we have an app that does that already? Just tweak it to make it work for this too."
And that's how nightmare internal apps are born. I'm sure you've been there. I doubt this is your first rodeo.
Now, if that app has high test coverage (feature coverage and edge cases, not just lines covered), is nicely decoupled (as that is a precondition for testing), then it's easy to maintain and extend.
Why do you want to rationalize away good engineering practices with biz-talk like ROI? If you are experiencing pain in writing your tests, you either need more practice, have badly designed code that isn't testable, or both.
Once you are accustomed to TDD, or even just GDT (guilt-driven-testing, aka. tests after code), it's very natural to write a test, and write code that is more testable. This yields a cleaner code base which is more modular and decoupled. And you have a high confidence level in whatever code you wrote.
And you will find that you don't miss that debugger at all. :)