Broadcasting on a dynamic grid
Here is how to analyze a starting configuration to determine whether the message will be able to eventually reach all nodes in the grid.

Consider two adjacent nodes $u,v$.  We'll say that these two nodes are connected if at some point during the first four time steps, node $u$'s active edge points to $v$ and node $v$'s active edge points to $u$.  In other words, nodes $u,v$ are connected if one (or both) of the following two conditions holds:


In the initial configuration, $u$'s active edge points to $v$ and $v$'s active edge points to $u$.
$u$ rotates in the opposite direction as $v$.


Construct an undirected graph $G$ with one vertex per node in the cell, and an edge $(u,v)$ between two vertices iff they are connected (per the above definition).  Then a necessary and sufficient condition for the message to be able to reach all nodes in the grid is that the graph $G$ must be connected.



It's also possible to use this kind of analysis to determine the shortest time necessary before the message reaches all nodes, with running time linear in the size of the graph.

In particular, we can build a directed graph $G'$ with one vertex $(i,j,k)$ per cell $(i,j)$ and value $k \in \{0,1,2,3\}$.  (We will interpret $k$ as the time, modulo 4.)  This graph has a directed edge $(i,j,k) \to (i',j',k+1 \bmod 4)$ if $(i,j)$ is adjacent to $(i',j')$ and $(i,j)$'s active edge points to $(i',j')$ at time $k$ and $(i',j')$'s active edge points to $(i,j)$ at time $k$.

Now we use breadth-first search to find the shortest path from $(i_0,j_0,0)$ to every other vertex, where $(i_0,j_0)$ is the cell where the message starts.  We define

$$f(i,j) = \min\{d((i_0,j_0,0),(i,j,k)) : k=0,1,2,3\}$$

where $d(u,v)$ is the length of the shortest path from vertex $u$ to vertex $v$ in $G'$.  Finally, $\max_{i,j} f(i,j)$ is the shortest time necessary for the message to reach all nodes.  The running time of this algorithm is $O(mn)$, i.e., it runs in linear time (linear in the size of the input).