We use one application that makes use of a dongle. The application provides complex risk calculations, and our contract with the vendor is on a per-use basis. The dongle keeps track of the credits, for each machine, while the software and database sit on a central server.
We have a reasonably trusting relationship with the vendor, which works well. When we need credits for testing, or we loose some from a software glitch, we just call them up and ask for more credits. The dongle actually helps us in that it keeps track of how many credits we've used. In a business relationship where use of the software fits in the same niche as the reagents we buy for laboratory testing, it works well. However, I'd never consider purchasing other types of software that used a dongle, outside of a niche like this.