Yeah, I know bmap_blit doesn't work like I would want it. If you look carefully at the (in the examples) black area of a window, you see some kind of lines, which are also artefacts of the bmap_blit scaling.

Your idea with the windows might work, but this would require creating a bitmap that is big enough so it's always bigger than the window. As it would seem senseless to create such big bitmaps in files, I guess it would make sense to create them procedurally with many bmap_blit commands. But I think this would be much slower than one bmap_blit command, although it normally could be faster if bmap_blit had an option for "nearest neighbour" interpolation. That's why I would hate using workarounds like this. I would prefer an option to scale bitmaps fast without getting them blurred.
Also, this would destroy the possibility to have a border bitmap with a width of more than 1 pixel, which is then scaled.

But if you think it would be useful for your project, you could rewrite this part of LBGUI yourself. I currently don't have the time for an update like this anyway.

If your window doesn't need to be resized, you could also create a bitmap for the whole window and then assign window->panel->bmap to that bmap each time your window is updated.