It's a mess and yes the reasons run deep in how all kinds of apps have been written with developers thinking for the most part that we are still back in the 72dpi bitmap world.
i hate and love when read of changing font size when they get a high rez screen.
really the size of a 72 point font is 1 inch. that has zero relation to the ppi of the display!
but then we create a form based on pixel sizes and set the text based on point sizes in most cases..... creating a built in failure when that relationship changes.
also this is one of the things MS was trying to get us away from when they first created WPF and vista.
do the display based on drawing with math not on counting pixels!
make form sizes base don inches or centimeters or points not on pixels
same thing for buttons and other UI elements.
only use a bit map to show a picture of something, not to create a UI element like a button.
we need to do this kind of thing all over the code base, bottom to top.
if the display is based on the math then you can scale it to fit the display area and it works.
in fact i have used a wpf control to scale forms and shown how it can work very well. in a wpf window with wpf markup inside the container.