[proofplan]
We prove both directions by studying feasible rays and asymptotic slopes. If a nonzero recession direction $d$ satisfies $f^\infty(d) \leq 0$, then the ray $x_0 + td$ remains feasible and convexity of $f$ forces either objective values tending to $-\infty$ or a bounded-above objective along an unbounded ray, contradicting boundedness below or level-boundedness. Conversely, if boundedness below or level-boundedness fails, we choose an escaping sequence of feasible points with controlled objective values, normalize its directions, pass to a limit direction $d$, and use convexity and lower semicontinuity to prove that $d \in \operatorname{rec}(C)$ and $f^\infty(d) \leq 0$.
[/proofplan]
[step:Fix a feasible base point and record the recession slope along a ray]
Choose
$x_0 \in C \cap \operatorname{dom} f$.
For $d \in \operatorname{rec}(C)$ define the one-dimensional function $g_d: [0,\infty) \to (-\infty,+\infty]$ by
\begin{align*}
g_d(t) := f(x_0 + td).
\end{align*}
Since $d \in \operatorname{rec}(C)$, the ray $x_0 + td$ belongs to $C$ for every $t \geq 0$. Since $x_0 \in \operatorname{dom} f$, we have $g_d(0)=f(x_0)<+\infty$.
For a proper closed convex function, the recession value in direction $d$ is the asymptotic slope
\begin{align*}
f^\infty(d)=\lim_{t\to\infty}\frac{f(x_0+td)-f(x_0)}{t},
\end{align*}
where the quotient is interpreted in $(-\infty,+\infty]$. The function $q_d: (0,\infty) \to (-\infty,+\infty]$ defined by
\begin{align*}
q_d(t) := \frac{g_d(t)-g_d(0)}{t}
\end{align*}
is nondecreasing by convexity of $g_d$.
[/step]
[step:Show that boundedness below and level-boundedness exclude nonzero recession directions with nonpositive recession value]
Assume that the program is bounded below and level-bounded on $C$. Suppose, toward a contradiction, that there exists
$d \in \operatorname{rec}(C)$
such that $d \neq 0$ and $f^\infty(d) \leq 0$.
First suppose $f^\infty(d)<0$. Since $q_d(t)$ is nondecreasing and converges to $f^\infty(d)$, we have $q_d(t)\leq f^\infty(d)<0$ for every $t>0$. Hence
\begin{align*}
f(x_0+td)\leq f(x_0)+t f^\infty(d)
\end{align*}
for every $t>0$. Letting $t\to\infty$ gives $f(x_0+td)\to -\infty$ along feasible points, contradicting boundedness below of $\inf_{x\in C}f(x)$.
Now suppose $f^\infty(d)=0$. Since $q_d(t)$ is nondecreasing and converges to $0$, we have $q_d(t)\leq 0$ for every $t>0$. Therefore
\begin{align*}
f(x_0+td)\leq f(x_0)
\end{align*}
for every $t>0$. Define the finite sublevel set
\begin{align*}
L_{f(x_0)} := \{x \in C : f(x)\leq f(x_0)\}.
\end{align*}
Then $x_0+td \in L_{f(x_0)}$ for every $t>0$. Because $d\neq 0$, the Euclidean norm $|x_0+td|$ is unbounded as $t\to\infty$, so $L_{f(x_0)}$ is unbounded. This contradicts level-boundedness.
Thus no nonzero $d \in \operatorname{rec}(C)$ can satisfy $f^\infty(d)\leq 0$, and hence
\begin{align*}
\{d \in \operatorname{rec}(C) : f^\infty(d)\leq 0\}=\{0\}.
\end{align*}
[guided]
Assume that the program is bounded below and level-bounded on $C$. We want to show that every nonzero recession direction has strictly positive recession value.
Take a direction $d \in \operatorname{rec}(C)$ with $d\neq 0$. The condition $d \in \operatorname{rec}(C)$ means that the whole ray
$x_0+td$ remains in $C$ for $t\geq 0$. Therefore this ray is a valid place to test whether the objective can escape downward or stay bounded while the points escape to infinity.
Suppose first that $f^\infty(d)<0$. The quotient
\begin{align*}
q_d(t)=\frac{f(x_0+td)-f(x_0)}{t}
\end{align*}
is nondecreasing in $t$ and converges to $f^\infty(d)$. Since the limit is negative, every quotient satisfies
\begin{align*}
q_d(t)\leq f^\infty(d)<0.
\end{align*}
Multiplying by $t>0$ gives
\begin{align*}
f(x_0+td)\leq f(x_0)+t f^\infty(d).
\end{align*}
The right-hand side tends to $-\infty$ as $t\to\infty$, because $f^\infty(d)<0$. Since every point $x_0+td$ is feasible, this contradicts boundedness below of the constrained program.
Now suppose instead that $f^\infty(d)=0$. The same monotonicity argument gives
\begin{align*}
q_d(t)\leq 0
\end{align*}
for every $t>0$, hence
\begin{align*}
f(x_0+td)\leq f(x_0).
\end{align*}
Thus the finite sublevel set
\begin{align*}
L_{f(x_0)}=\{x\in C:f(x)\leq f(x_0)\}
\end{align*}
contains every point of the ray $x_0+td$. Because $d\neq 0$, this ray is unbounded in $\mathbb{R}^n$. Therefore $L_{f(x_0)}$ is unbounded, contradicting level-boundedness.
Both possibilities $f^\infty(d)<0$ and $f^\infty(d)=0$ are impossible for nonzero recession directions. Hence
\begin{align*}
\{d \in \operatorname{rec}(C):f^\infty(d)\leq 0\}=\{0\}.
\end{align*}
[/guided]
[/step]
[step:Extract a nonzero recession direction from an unbounded sublevel set]
Assume
\begin{align*}
\{d \in \operatorname{rec}(C):f^\infty(d)\leq 0\}=\{0\}.
\end{align*}
We first prove that every finite sublevel set is bounded. Suppose, toward a contradiction, that for some $\alpha \in \mathbb{R}$ the set
\begin{align*}
L_\alpha := \{x \in C : f(x)\leq \alpha\}
\end{align*}
is unbounded.
Choose a sequence $(x_k)_{k=1}^\infty$ in $L_\alpha$ such that
\begin{align*}
|x_k-x_0|\to\infty.
\end{align*}
Define
\begin{align*}
d_k := \frac{x_k-x_0}{|x_k-x_0|}\in \mathbb{R}^n.
\end{align*}
Then $|d_k|=1$ for every $k$. By compactness of the unit sphere in $\mathbb{R}^n$, after passing to a subsequence there exists $d\in\mathbb{R}^n$ such that
\begin{align*}
d_k\to d.
\end{align*}
Since the Euclidean norm is continuous, $|d|=1$, so $d\neq 0$.
Fix $t\geq 0$. For all sufficiently large $k$, $t\leq |x_k-x_0|$. Define
\begin{align*}
\lambda_k(t):=\frac{t}{|x_k-x_0|}\in[0,1].
\end{align*}
Then
\begin{align*}
x_0+td_k=(1-\lambda_k(t))x_0+\lambda_k(t)x_k.
\end{align*}
Since $x_0,x_k\in C$ and $C$ is convex, $x_0+td_k\in C$. Passing to the limit $k\to\infty$ and using closedness of $C$ gives $x_0+td\in C$. Since this holds for every $t\geq 0$, the ray $x_0+[0,\infty)d$ is contained in $C$. We now verify that this implies $d\in\operatorname{rec}(C)$. Let $y\in C$ and let $s\geq 0$. For each integer $m>s$, convexity of $C$ gives
\begin{align*}
\left(1-\frac{s}{m}\right)y+\frac{s}{m}(x_0+md)\in C.
\end{align*}
The left-hand side equals $y+sd+\frac{s}{m}(x_0-y)$ and converges to $y+sd$ as $m\to\infty$. Since $C$ is closed, $y+sd\in C$. Thus $C+[0,\infty)d\subset C$, so $d\in\operatorname{rec}(C)$.
[/step]
[step:Pass the convex sublevel estimate to the limiting ray]
Fix $t\geq 0$. For all sufficiently large $k$, the number
\begin{align*}
\lambda_k(t)=\frac{t}{|x_k-x_0|}
\end{align*}
belongs to $[0,1]$, and
\begin{align*}
x_0+td_k=(1-\lambda_k(t))x_0+\lambda_k(t)x_k.
\end{align*}
Convexity of $f$ gives
\begin{align*}
f(x_0+td_k)\leq (1-\lambda_k(t))f(x_0)+\lambda_k(t)f(x_k).
\end{align*}
Since $x_k\in L_\alpha$, we have $f(x_k)\leq \alpha$, hence
\begin{align*}
f(x_0+td_k)\leq f(x_0)+\lambda_k(t)(\alpha-f(x_0)).
\end{align*}
Letting $k\to\infty$, we have $x_0+td_k\to x_0+td$ and $\lambda_k(t)\to 0$. Since $f$ is closed, it is lower semicontinuous, so
\begin{align*}
f(x_0+td)\leq \liminf_{k\to\infty} f(x_0+td_k)\leq f(x_0).
\end{align*}
Therefore, for every $t\geq 0$,
\begin{align*}
f(x_0+td)-f(x_0)\leq 0.
\end{align*}
For $t>0$, division by $t$ yields
\begin{align*}
\frac{f(x_0+td)-f(x_0)}{t}\leq 0.
\end{align*}
Taking the limit as $t\to\infty$ in the definition of the recession function gives
\begin{align*}
f^\infty(d)\leq 0.
\end{align*}
Together with $d\in\operatorname{rec}(C)$ and $d\neq 0$, this contradicts the assumed condition. Hence every finite sublevel set $L_\alpha$ is bounded.
[/step]
[step:Rule out failure of boundedness below]
It remains to prove boundedness below. Suppose, toward a contradiction, that
\begin{align*}
\inf_{x\in C} f(x)=-\infty.
\end{align*}
Then for every integer $k\geq 1$ there exists $x_k\in C$ such that
\begin{align*}
f(x_k)\leq f(x_0)-k.
\end{align*}
The sequence $(x_k)_{k=1}^\infty$ cannot be bounded. Indeed, if it were bounded, it would have a convergent subsequence $x_{k_j}\to \bar{x}$ in $\mathbb{R}^n$. Closedness of $C$ would give $\bar{x}\in C$, and lower semicontinuity of $f$ would give
\begin{align*}
f(\bar{x})\leq \liminf_{j\to\infty} f(x_{k_j})=-\infty,
\end{align*}
which is impossible because $f$ takes values in $(-\infty,+\infty]$.
Thus $(x_k)$ is unbounded. Passing to a subsequence, still denoted $(x_k)$, we may assume
\begin{align*}
|x_k-x_0|\to\infty.
\end{align*}
Repeating the normalized-direction argument from the preceding two steps, with the upper bounds $f(x_k)\leq f(x_0)-k\leq f(x_0)$ in place of $f(x_k)\leq \alpha$, produces a direction $d\in\operatorname{rec}(C)$ with $|d|=1$ and $f^\infty(d)\leq 0$. This again contradicts
\begin{align*}
\{d \in \operatorname{rec}(C):f^\infty(d)\leq 0\}=\{0\}.
\end{align*}
Therefore $\inf_{x\in C}f(x)>-\infty$.
[/step]
[step:Conclude the equivalence]
We have shown that boundedness below and level-boundedness imply
\begin{align*}
\{d \in \operatorname{rec}(C):f^\infty(d)\leq 0\}=\{0\}.
\end{align*}
Conversely, this condition implies that every finite sublevel set
\begin{align*}
\{x\in C:f(x)\leq\alpha\}
\end{align*}
is bounded and that the constrained infimum is finite from below. Hence the program $\inf_{x\in C}f(x)$ is bounded below and level-bounded on $C$. This proves the claimed equivalence.
[/step]