Is it possible to calculate the exact time and date the initial 18.4 million coins have all been mined?
And assuming that the total amount itself isn't altered, what if anything could cause this date to change?
The emission was set and determinable from day 0 and will never be changed.
The initial 18.446 million coins will be mined by May 26, 2024 (by comparison Bitcoin will be over 93% mined at the time). The precise hour and the minutes cannot be inferred because of the variance in the time to mine Monero.
A mining arms race, like what Bitcoin has experienced in recent times could cause the date to be drawn closer, but probably not by much. Another thing that might cause the issuance to slow is if big blocks happen such that fees replace the block reward, as bigger blocks defer block rewards while the fees paying transactions are present. This second scenario is probably much less likely though.