Voice communication and CPDLC co-exist as means of ATS communication. CPDLC is considered a supplement to voice communication - even if that may change in the future.
CPDLC is only used for non-time-critical communications. This aspect is very important in the context of your question. A response to a message sent via CPDLC can be up to several minutes, whereas for a message sent via voice radio, a reply can be expected within seconds; pilots and controllers know this, and will only use CPDLC if a relatively long response time is acceptable.
Generally speaking, when communication is initiated via CPDLC, the response should be via CPDLC, and when communication is initiated via voice, the response should be via voice. However, there are situations where it is beneficial to revert to voice communication after a CPDLC message has been sent. One example is when it is necessary to ensure the timely execution of an instruction issued by CPDLC, another is when a system generates a time-out or error. There is no standard time limit for replying to a CPDLC message, but various systems probably have some sort of time limits in them.
Standard phraseology is established for situations where it is required to revert to voice communication. One example is:
SAS123, disregard CPDLC climb message, break, climb FL330
In this case a CPDLC message to climb sent to SAS123 is no longer valid, and instead the crew should react to the voice instruction to climb to FL330.
If the sender of a CPDLC messages wants to cancel a previous message, this is indeed possible using CPDLC - but most of the time it is probably desirable to do so via voice, to make sure the message is conveyed immediately. The ICAO Standard CPDLC message for cancelling a previous message is UM168:
Answer largely based on Introduction to CPDLC Operations (SKYbrary) and PANS-ATM Appendix 5.