When is a direct limit of nice models of set theory is again a model of set theory? It is often useful to allow taking direct limits in set theory. This happens all the time when taking about ultrapowers.
But let's not limit ourselves to ultrapowers. Suppose that we have a sequence of models of $\sf ZFC$, $M_n$ for $n<\omega$, such that all of them are transitive and even countable, with the same ordinals. What reasonable assumptions would guarantee that $\bigcup M_n$ is again a model of $\sf ZFC$? What happens if we consider longer sequences of models (where we don't require all the models to satisfy $\sf ZFC$, or we don't require the sequence to be continuous at all limits)?
I am particularly interested in the case where each model is a forcing extension of its predecessor in the sequence; but not necessarily just that.

For example, one could think that the requirement "eventual stabilization of the von Neumann hierarchy" is enough. But it is not. Consider the following counterexample:
Start with a [countable transitive] model of $\sf GCH$, $M_0$ and choose (externally) a cofinal sequence $\kappa_n$ for $n<\omega$ in the ordinals of $M_0$; without loss of generality, $M_0\models``\kappa_n\text{ is a strong limit cardinal}"$. Next define $M_{n+1}$ to be the forcing extension of $M_n$ by $\operatorname{Add}(\kappa_n^+,\kappa_n^{+3})^{M_n}$.
It is easily verified that the $M_n$'s are all countable with the same ordinals, and that $M_n\subseteq M_{n+1}$, as well as that the von Neumann hierarchy there stabilizes.
However, in $M=\bigcup M_n$, we can look at the function $\varphi(n,\alpha)$ stating that $n<\omega$ and $\alpha$ is the unique ordinal such that $\sf GCH$ is violated $n-1$ times below it. Easily, $\varphi$ actually defines the sequence $\kappa_n$, which is a contradiction to Replacement.
On the other hand, the stabilization is necessary for us to get a model of the Power Set axiom. Otherwise, there is some $\alpha$ such that $V_\alpha^{M_n}$ never stabilizes, and therefore never becomes an element of $V_{\alpha+1}$ in the limit model.
 A: This doesn't exactly answer your question, but I find it to be in a similar spirit. Namely, one could naturally consider the version of your question where you ask merely that $\bigcup_n M_n$ is contained within a model of ZFC, rather than necessarily being a model of ZFC itself. 
For this version of the question, particularly applied to forcing extensions, I have a characterization in my paper:

J. D. Hamkins, Upward closure and amalgamation in the generic multiverse of a countable model of set theory, RIMS Kyôkyûroku, pp. 17-31, 2016.

Follow the link for further links to slides of talks I've given on the topic. One theorem appearing in the paper is:
Theorem. An increasing chain of forcing extensions $$W\subset W[G_0]\subset W[G_1]\subset\cdots$$ of a countable model of ZFC has an upper bound $W[H]$ in a forcing extension of $W$ if and only if the forcing extensions $W[G_n]$ had uniformly bounded essential size in $W$. 
The essential size of a forcing extension is the size of the smallest complete Boolean algebra by which the extension can be realized as a forcing extension.
In particular, any countable tower of extensions by adding a Cohen real has an upper bound, and furthermore in this case, you can find the upper bound which is also the extension by a single Cohen real, which is an attractive little argument, of the style of many computability theory constructions.  
