Is the theory of operation behind my FPGA design acceptable?
In general gating a clock is a bad idea. That gate causes delay. This can make the clock at the receiver come after the next data gets there, causing hold time violations.

Otherwise your design is reasonable.