[proofplan]
We use the interval-wise definition of a Cohen-Macaulay graded poset: every open interval has Cohen-Macaulay order complex over $k$, with the standard low-dimensional conventions for empty complexes and one-point intervals. For a closed interval $[a,b]\subset P$, every open interval inside $[a,b]$ is exactly the corresponding open interval in $P$, so the condition is inherited. For the dual poset, every open interval is the same underlying set as an open interval of $P$ with the order reversed, and order reversal induces an isomorphism of order complexes. Since Cohen-Macaulayness of a simplicial complex over $k$ is invariant under simplicial isomorphism, the dual is Cohen-Macaulay over $k$.
[/proofplan]
[step:Show that closed intervals inherit the graded structure]
Let $\rho:P\to \mathbb Z$ be a rank function for the finite graded poset $P$. Fix elements $a,b\in P$ with $a\le b$, and let $[a,b]$ denote the subposet
\begin{align*}
[a,b]=\{x\in P:a\le x\le b\}.
\end{align*}
with the order inherited from $P$.
Define $\rho_{[a,b]}:[a,b]\to \mathbb Z$ by $\rho_{[a,b]}(x)=\rho(x)-\rho(a)$. If $x,y\in [a,b]$ and $y$ covers $x$ in $[a,b]$, then $y$ also covers $x$ in $P$: any element $z\in P$ satisfying $x<z<y$ automatically satisfies $a\le z\le b$, hence would lie in $[a,b]$. Therefore
\begin{align*}
\rho_{[a,b]}(y)=\rho(y)-\rho(a).
\end{align*}
Because $y$ covers $x$ in $P$, we have $\rho(y)=\rho(x)+1$. Substituting this into the previous display gives
\begin{align*}
\rho_{[a,b]}(y)=\rho(x)+1-\rho(a).
\end{align*}
Using the definition of $\rho_{[a,b]}$, this is
\begin{align*}
\rho_{[a,b]}(y)=\rho_{[a,b]}(x)+1.
\end{align*}
Thus $[a,b]$ is a finite graded poset with rank function $\rho_{[a,b]}$.
[/step]
[step:Identify every open interval in $[a,b]$ with an open interval in $P$]
Let $u,v\in [a,b]$ with $u\le v$. The open interval from $u$ to $v$ computed inside $[a,b]$ is
\begin{align*}
(u,v)_{[a,b]}=\{x\in [a,b]:u<x<v\}.
\end{align*}
Since $u,v\in [a,b]$, every $x\in P$ satisfying $u<x<v$ also satisfies $a\le u<x<v\le b$, so $x\in [a,b]$. Hence
\begin{align*}
(u,v)_{[a,b]}=\{x\in P:u<x<v\}.
\end{align*}
By definition, the right-hand side is $(u,v)_P$, so the two open intervals are equal as posets. For any finite poset $Q$, let $\Delta(Q)$ denote its order complex, whose simplices are the finite chains in $Q$. Therefore their order complexes are equal:
\begin{align*}
\Delta((u,v)_{[a,b]})=\Delta((u,v)_P).
\end{align*}
Because $P$ is Cohen-Macaulay over $k$, the order complex $\Delta((u,v)_P)$ is Cohen-Macaulay over $k$ for every such pair $u\le v$. Hence $\Delta((u,v)_{[a,b]})$ is Cohen-Macaulay over $k$ for every interval in $[a,b]$, so $[a,b]$ is Cohen-Macaulay over $k$.
[guided]
The point is that passing to a closed interval does not create any new smaller intervals. Fix $u,v\in [a,b]$ with $u\le v$. Inside the interval poset $[a,b]$, the open interval is
\begin{align*}
(u,v)_{[a,b]}=\{x\in [a,b]:u<x<v\}.
\end{align*}
Now compare this with the open interval in the original poset:
\begin{align*}
(u,v)_P=\{x\in P:u<x<v\}.
\end{align*}
If $x\in (u,v)_P$, then $a\le u<x<v\le b$, so $x\in [a,b]$. Thus $x\in (u,v)_{[a,b]}$. The reverse inclusion follows directly because $[a,b]\subset P$ and the order on $[a,b]$ is the inherited order. Hence
\begin{align*}
(u,v)_{[a,b]}=(u,v)_P
\end{align*}
as posets.
The order complex $\Delta(Q)$ of a finite poset $Q$ has as simplices the finite chains of $Q$. Since the two open intervals above are the same poset, their chains are the same, and therefore
\begin{align*}
\Delta((u,v)_{[a,b]})=\Delta((u,v)_P).
\end{align*}
By the defining Cohen-Macaulay condition for $P$, the complex on the right is Cohen-Macaulay over $k$. Therefore the complex on the left is Cohen-Macaulay over $k$. Since $u$ and $v$ were arbitrary elements of $[a,b]$ with $u\le v$, every open interval in $[a,b]$ has Cohen-Macaulay order complex over $k$. This is exactly the Cohen-Macaulay condition for the finite graded poset $[a,b]$.
[/guided]
[/step]
[step:Show that the dual poset is graded]
Let $r$ denote the maximum value of the rank function $\rho$ on $P$. Define $\rho^{\mathrm{op}}:P^{\mathrm{op}}\to \mathbb Z$ by $\rho^{\mathrm{op}}(x)=r-\rho(x)$. If $y$ covers $x$ in $P^{\mathrm{op}}$, then $x$ covers $y$ in $P$. Hence $\rho(x)=\rho(y)+1$, and therefore $\rho^{\mathrm{op}}(y)=r-\rho(y)=r-\rho(x)+1=\rho^{\mathrm{op}}(x)+1$. Thus $P^{\mathrm{op}}$ is a finite graded poset.
[/step]
[step:Compare open intervals in the dual with reversed open intervals in $P$]
Let $x,y\in P^{\mathrm{op}}$ with $x\le_{P^{\mathrm{op}}} y$. This means $y\le_P x$. The open interval from $x$ to $y$ in $P^{\mathrm{op}}$ is
\begin{align*}
(x,y)_{P^{\mathrm{op}}}=\{z\in P:y<_P z<_P x\}.
\end{align*}
Thus $(x,y)_{P^{\mathrm{op}}}$ is the dual poset of $(y,x)_P$.
Define a vertex map $\iota:(x,y)_{P^{\mathrm{op}}}\to (y,x)_P$ by $\iota(z)=z$. If $z_0<_{P^{\mathrm{op}}}\cdots <_{P^{\mathrm{op}}} z_m$, then $z_m<_P\cdots <_P z_0$. Therefore the set $\{z_0,\dots,z_m\}$ is a simplex of $\Delta((x,y)_{P^{\mathrm{op}}})$ if and only if it is a simplex of $\Delta((y,x)_P)$. Hence $\iota$ induces a simplicial isomorphism
\begin{align*}
\Delta((x,y)_{P^{\mathrm{op}}})\cong \Delta((y,x)_P).
\end{align*}
[/step]
[step:Transfer Cohen-Macaulayness across the order-complex isomorphism]
Since $P$ is Cohen-Macaulay over $k$ and $y\le_P x$, the order complex $\Delta((y,x)_P)$ is Cohen-Macaulay over $k$. The preceding step gives a simplicial isomorphism $\Delta((x,y)_{P^{\mathrm{op}}})\cong \Delta((y,x)_P)$. Cohen-Macaulayness over $k$ is invariant under simplicial isomorphism: a simplicial isomorphism identifies faces bijectively, carries each link onto the corresponding link, and induces isomorphisms on the reduced homology groups over $k$ that occur in the Cohen-Macaulay criterion. Therefore $\Delta((x,y)_{P^{\mathrm{op}}})$ is Cohen-Macaulay over $k$.
The elements $x,y\in P^{\mathrm{op}}$ with $x\le_{P^{\mathrm{op}}}y$ were arbitrary. Hence every open interval of $P^{\mathrm{op}}$ has Cohen-Macaulay order complex over $k$. Since $P^{\mathrm{op}}$ is finite and graded, it is Cohen-Macaulay over $k$. Combining this with the interval argument proves both assertions.
[/step]