The trouble with that technique is that the 'correct' transfer window might not be the same for every bit in the ADC word, and there might not be any edge on which every bit has had enough setup and hold time. You also don't know anything at all about the timing relationship between each of the individual ADC bits and the toggling bit.
I've successfully used two techniques to transfer words from one clock domain into another.
Most commonly, I instantiate one of the dual-clock RAM blocks in FIFO mode. Write values into the FIFO in one domain, read them in the other, and take advantage of the fact that the FPGA manufacturer has solved this problem for me already. Add a 'toggle' bit to each word, which changes state with each sample, so the receiving logic can tell when a new sample has been received. The FIFO only needs to be one word deep. (Note: I use Altera, but I can't believe Xilinx doesn't have the same features).
Another option is to use a flag bit to indicate when a sample register is safe to read. In the ADC domain, write the new sample into a holding register, and flip the state of the flag. In the other domain, double-sample the flag (to avoid metastability), and read the holding register only when the sample-of-the-sample of the flag has changed state. This ensures the holding register is being read at a time when it's known to have held its value for at least a full clock cycle. Note, this only works if the ADC isn't generating new data too often.