While in the end you may find it easiest to do so, you do not need to create your own component.
You can definitely use the Clocked Video Input block as you had originally intended.
The input to the Clocked Video Input does not need to be in a standard format. The cited paragraph is limited to discussing how sync data is communicated. If you are supplying input data in a standard format, then the module has the capability to determine the sync information through inspection of the incoming data stream. If you are not using a standard format, or are using a standard format which the module does not understand, then you need to supply the sync information on separate wires.
You can use arbitrary data such as your 14-bit ADC as long as you supply the external sync, which you appear to already be doing although possibly incorrectly. When using your own format, you would obviously need to configure the Clocked Video Input (and the Clocked Video Output, and any other component you add to the pipeline) with the correct configuration for your data. For example, 14-bits per plane, one plane transmitted in sequence.
Since the Test Pattern Generator can not be configured to output video in this format, simply replacing the TPG with the CVI was not your only change to your system, you would have also had to change the CVO for the different formats, and that might be part of your problem as well.
Per my previous reply, the easiest way to get a clue as to what your problem might be is either simulation or SignalTap. Is the CVI emitting Avalon-ST packets? Is the CVO emitting data and syncs on the DVI? etc. etc. etc.