I was aware of all the questions you ask in your post, but I just answered your question.
1) We need to load the bitmap and the we know the original dimensions and can display it correctly.
2) Like above
3) That's my secret
!
Joke beside, I did some tests to adapt the scale to give concrete values.
It would be possible to add a scaling routine into the code.
I did it in a Basic4PPC map program.
If you know the physical dimensions of two lines in the image you can move the cursor on the first line memorize the pixel position, move the cursor to the second line and calculate the scale because you know the physical dimension between the two lines and the number of pixels between these two lines.
4) Sure, this can be done. Might be confusing for the user.