Three weeks ago I was on the train from Irkutsk (Russia) to Ulaanbaatar (Mongolia). A Canadian in my cabin had his visa finish on the 10th (same date as the departure of the train). Unfortunately it's a long train ride, and you don't actually cross the border the same day - meaning we crossed on the 11th, and as the border guard said solemly - "There is problem". He was fined 600 Rubels on the spot (about US$18) and had to pay an additional fine in Mongolia through the bank of 2000 Rubels (about $US60). The 600 Rubels apparently was a 'per day' thing - 10 days over would have been 6000 Rubels.
He was fortunate in that they didn't put anything in his passport or flag him in the system, as he would then have a black mark against his name from then on. A fine is bad enough. I'd personally try to put in as much extra time as permitted on the visa application (not sure how easy it is on Schengen to add days as I've not done it myself), but for example I met people who had a specified 12 day Russian visa, while you can just ask for the maximum of 30 and get it. Always worth going for the most.
(The closest I've come is taking a shared taxi out of Uzbekistan into Tajikistan with about 10 hours left on my visa. Also my toughest ever border crossing - arguing with a guy who has a machine gun is stressful!)