I'm no expert on this topic, but: "sharp" isn't a very objective statement. With every other resolution than the original one, there has to be some kind of stretching of the image, in order to fill the window (or the full screen, if it isn't running in the native resolution). Depending on the type of output, and the scaler used, the stretched image will look more or less "sharp", but it will never look like the original image. The only way to get a really "sharp" image in the meaning of the word, would be to use a "Simple 2x" scaler, which doubles (or quadruples) every pixel. An image enlarged with that kind of scaler would look very blocky and "aliased", as you would see every pixel "stronger" (=larger).
If you have a image editing software, you can try this for yourself: load a DOSBox screenshot, and resize it x2 without using any filters. You will see every pixel in the resulting image, much more than in the original one. If you use a filter to rescale, you will get a "smoother" image.
Does anyone know if a "Simple 2x" (i hope this term is correct) scaler is already implemented into DOSBox? I'm using the "normal2x" scaler in my config, and i do get a filtered image.
The topic is quite confusing - a screenshot of DOSBox will be 640x400 in text mode, 320x200 in VGA mode, and 640x480 in SVGA mode. I guess the only way to get a "sharp" image would be to use even multiples of these resolutions (pixels*2), like 1280x800, 640x400, and 1280x960. The first and last resolutions would be hard to achieve in a window, obviously.
The bottom line seems to be: every emulated resolution is kind of a tradeoff. You have to find the combination of size/scaler/output that looks best for you.