Here is a partial answer. It proves a fault-free rectangle can be assembled from rectangles of size mxn such that one dimension is not a multiple of the other.
The remaining cases can be converted to the 1xn case solved earlier by Bubbler.
It is really simple. Here is the solution for size 3x4.
A central rectangle is surrounded by four large squares made of n times m rectangles. The gaps at the corners are just the right size for stripes of rectangles. It works for any size mxn.
If m,n are such that one is not a multiple of the other then the grey lines are guaranteed not to align across the black lines, at least not across the black lines touching the central rectangle. This makes the rectangle fault-free.