I have a number of tools i use for software development. In many cases a few developers get together and develop a few tools that become hugely useful - they need to make money ... on the product, not projected support costs) and i see this as a bit of a downfall in Open Source (OS this is not the point on this post however!).
Now the way they will make money is buy developers buying it, or suggesting it to be bought, typically for a project you are working for in some company. In other words, on a per license basis, they likely to make more of their money on the big projects. So, the only way people will suggest these tools is if they are familar with them - and even more so if many of the team are familiar with the product (e.g. gZip, NUnit).
However, many of them offer short timed trials or limited features rather than just letting you use the tool and making it part of your toolset. The tool is unlikely to become viral because to purchase it, individuals need to spend upwards of $400 for a licence.... and most of us use many tools. So if i have 10 tools, can i afford $4k out of my own pocket - in short, no.
IMHO, a better option would be to just give the tools away to individuals and make the money on the larger projects they introduce the tools into (more of us will be aware of them too!). If the tool becomes so viral that it is just part of the development toolset then all you need to deal with it how to get more money from the larger projects that have a real budget - not individuals hacking on a Saturday evening.
The argument is always going to be how can you stop individuals re-using the tools in multiple projects - well you can't really, but in my experience projects will pay for tools rather taking the risk (if fact, more to the point its a way of the developers - by proxy - giving back to those who made the tools in the first place).