If you're not using dependency injection, than it's almost certain that you're not using a mocking framework for your unit tests, or perhaps not doing unit testing at all. One of the nice things about unit testing is that, eventually, it will drive you to use better design patterns, including dependency injection. If you don't you'll find it very hard to test your code.
Whether or not learning how to use DI framework is necessary for applications of your size is an open question. Adding any external code to your project will add some complication and, honestly, I haven't found it compelling enough for my projects -- yet. At the same time, though, at one point I was creating all my mock object by hand and, since switching to RhinoMocks, I rarely hand mock objects and I feel that my productivity has improved. DI containers are the next technology on my list of things to explore, but I haven't round a project to try it out on yet.
My suggestion, since you seem to be open to it, would be to try a couple of DI frameworks and see how well they work for you. If you don't find enough value, then try doing manual injection -- assuming you're not at this point, if you are, then go back to it.