I tried with the texturableBox.obj in the given link.
=> It's not perfect but it's better...
So I did do working my brain (yes it's possible [:))] ).
I took 6 default boxes (1, 1, 0.001) & (1, 0.001, 1) & ..., one by face with their own texture.
I built a new box (1, 1, 1) in a new group.
See the result :
Left : new box
Right : same box with height = 2
=> EUREKA ! the textures are not distorted ! [;)]
=> All sides are correct.
It's a complicated subject...
Perhaps, but sometimes, a good think gives better result.
[:)]