Why Vista would make a difference, I don't know...I'm not actually seeing your images for some reason, but I have had problems with pixel alignment and anti-aliasing in WPF in general, and this question/answer may provide some help for you.
Could you post the source? Does a new WPF app have the same problem?
Does DpiScaling.exe say 96 DPI? Is this running over Terminal Services?
These are just guesses, as I'm not too hot on WPF/theming internals.
I do know that SnapsToDevicePixels is the already enabled for Button, and that may be where the problem is coming from (i.e. a rounding issue).
How about logging onto a different account and running under that?
Have u installed SP1 for .Net 3.5? Even I'm facing same problem after installing it.... :(
It could be problem with SP1
I have a similar problem with my Geforce 8600 in Vista. I've searched high and low for a solution but to no avail. There are many other people running into the same issue but no one has a solution other than to try and rollback the nvidia driver. On Windows 7 machine, I'm running into similar issues with my GeForce 7800 GS. Its even worse when Vista or Windows 7 shows the UAC dialogue.
Upgrading my video card drivers fixed the problem. My card is a Geforce 8600 GT. Previous drivers were 78.13 (7813). New drivers are 82.50 (8250). Running Vista x64 with .NET 3.5 SP1.
This thing happened on my nvidia gforce laptop for my wpf and it was the box that I was going to do my demos on. The way I solved it is going to the Nvidia control panel (right clicking on the desktop) and from there choosing the option of letting the 3d application decide imag and rendering settings.