Interesting situation. I think I'd start with the management of your parking lot. Look at it this way, The tow company did provide the "service" of towing your car - regardless of the situation. Unless the mistake was theirs, they definitelly are going to want to get paid for the work.
The question is, just who screwed up? Is it the tow truck's responsibility to patrol and pick-up on their own, based on the tags? If so, they messed up because you had your rear tag displayed - even if the front one had falled down (which could have happened while they were towing it). And if you can't get any satisfaction from them - make it clear that you'll be coming down hard on the parking-lot management too, putting the tow contract at risk.
But if the tow company only picks up cars upon call - then IMHO they are blameless, you need to take it out on whoever called.