I had a look at the code where WM_MDITILE is used. There actually was some commented-out, non-working code there from a few years ago that attempted to resolve the issue with the right-bottom extra space left over after a tile completes.

I had another go and implemented a solution that adjusts the right/bottom-most windows after WM_MDITILE is used. It works. But... every time windows are tiled, they are re-sized by WM_MDITILE and have to be adjusted again. If you have many windows opening/closing at once, or often, and you have a feature like auto-tile enabled, this results in a visible flicker.

The only other solution was to implement my own tiling code, which usually isn't a good idea for a standard feature because it can be difficult to copy its behaviour exactly. It took several attempts but my final tiling function does seem to work in the same way as WM_MDITILE, without the bottom/right extra space. As far as I can tell, in both vertical and horizontal tiling, windows are placed in the same positions as WM_MDITILE and their Control+Tab positions are the same. It also doesn't move/size tool windows, moves but does not resize non-sizable windows, and so on. But there may be other contexts it doesn't take into account, so it will need testing. This will be in the next beta.