I've thought about this business of charging extra for first cleans many times but my opinion is still that I can create better customer loyalty by not doing so. When I give the quote I always say something like:
"We don't charge any extra for the first time, no matter how dirty the windows are because we don't do one offs. Because we expect a regular ongoing arrangement, we are happy to spend as much time as it takes to get them clean the first time and you understand that this is the service I'm offering. If you only need a one off, I can recommend someone else who would be prepared to do this for you but of course he charges accordingly."
This doesn't guarantee anything, of course, as there are always unscrupulous people who have no qualms about taking advantage, but we get very few 'second vist' cancellations and once the customer has listened to my little speech and said "Oh, yes, I can understand that" they tend to stay with us. It takes a particularly hard nosed type to tell you they don't want it anymore when they know it's perfectly clear that they intended to turn us over in the first place.