If you modify the backgrounds, you have to do it properly (improve the picture as a whole, then re-cut it)
Otherwise you'll get all sorts of artifacts as the different layers bleed over into each other
Even linear filtering for textures (standard feature in opengl) has to be disabled for field to look good
It's the way Square constructed the scenes. Basically they have some sort of software Z buffering technique and assign each layer a depth. This determines the ordering of what is drawn, 3d objects inclusive. The 2d objects are not drawn in 3d but 2d but are depth sorted as stated. So things go something like "background" which I suppose has infinite depth in this case. Then sorted 3d objects (character people etc) with sprite objects and lastly foreground objects (IE infinitely close to the camera).
Transparent objects (alpha blend objects) also exist but they are done in the foreground depth (overlaying things). You see this in area's like the wall market.
That being said, if you want hirez tile sets they must be an integer multiple of the original tileset just like the screen needs to be as well.
I'm not sure if it's possible to use 3d objects strected and depths to give perfect alignment at various resolutions.
(render the background to a texture and paste the texture on a surface which would have the effect of something akin to wolfienstien).
The only way to make improved backgrounds is as said before they must be cut from the same template coordinates, or integer multiple, as used before.
Cyb