In order to solve
\begin{align}
&\Delta u =0,\\
&u_x(0,y)=0, \;\;u_x(\pi,y)=0 \\
&u(x,0)=1, \;\;u(x,\pi)=\frac{x}{2}(\pi-x)
\end{align}
you can solve two separate problems, and add the solutions:
\begin{align}
&\Delta u = 0,\\
&u_x(0,y)=0,\;\; u_x(\pi,y)=0 \\
&u(x,0)=1,\;\; u(x,\pi)=0 \\ \\
&\Delta u = 0,\\
&u_x(0,y)=0,\;\; u_x(\pi,y)=0 \\
&u(x,0)=0,\;\; u(x,\pi)=\frac{x}{2}(\pi-x).
\end{align}
The first of the two problems is solved by
$$
u(x,y) = 1-\frac{y}{\pi}
$$
The second of the two problems is solved by
$$
u(x,y) = A_0y+\sum_{n=1}^{\infty}A_n\cos(nx)\sinh(ny)
$$
where the $A_n$ are chosen to satisfy
$$
u(x,\pi)=\frac{x}{2}(\pi -x)=A_0\pi+\sum_{n=1}^{\infty}A_n\cos(nx)\sinh(n\pi)
$$
The method of characteristics looks like the right way to solve this. Along paths that satisfy ${\rm d}x_i/{\rm d}t = f_i(\vec{x})$, one finds $u(\vec{x}(t))$ evolves according to ${\rm d}u/{\rm d}t = -c u$. If the path terminates at $\partial\Omega$, then $u(x) = 0$ along the whole path. This leads to our first necessary condition for the existence of a nonzero solution:
(1) $\exists$ path $\vec{x}(t)$ satisfying ${\rm d}x_i/{\rm d}t = f_i(\vec{x})$ with origin and terminus (limits as $t \rightarrow \pm\infty$) in the interior of $\Omega$.
For a continuous $u(\vec{x})$, the value of $u(\vec{x}(t))$ cannot diverge when $t \rightarrow \pm\infty$. Excepting a set of measure zero, all paths $\vec{x}(t)$ start at a repulsor and end at an attractor (rather than, say, a saddle point). Two more necessary conditions for the existence of a nonzero solution are therefore:
(2) $c < 0$ at $\vec{x}(-\infty)$
(3) $c > 0$ at $\vec{x}(+\infty)$
Except for a set of measure zero, we can probably assume these inequalities are strict, i.e. $c < 0$ and $c > 0$, respectively (convergence is possible for $c = 0$ but not guaranteed, depending on derivative terms). With the strict inequalities, conditions (1-3) are also sufficient for nonzero solutions $u(\vec{x})$ to exist. That can be seen as follows:
Starting with a point $\vec{x}_0$ along the path $\vec{x}(t)$, define a size-$\epsilon$ cross section (orthogonal to the streamlines of ${\rm d}x_i/{\rm d}t = f_i(\vec{x})$) and posit that $u(\vec{x})$ varies smoothly from $u(x_0) = 1$ to $u = 0$ at the boundaries of the cross section. The value of $u(\vec{x})$ along the "past" and "future" of this cross section is obtained by propagating along the characteristics using ${\rm d}u/{\rm d}t = -c u$. All these characteristics originate from the same repulsor (where $u = 0$) and terminate at the same attractor (also where $u = 0$). Fill in the rest of $\Omega$ with the null solution $u = 0$. Thus we have constructed a nonzero, continuous-valued solution to the PDE.
There are a bunch of singular edge cases where the necessary and sufficient conditions don't coincide, i.e. if $\lVert f \rVert = u = 0$ at the same point (fixable by rescaling $f$ and $u$), if $\lVert f\rVert = 0$ over an open subset of $\Omega$, if $\lVert f\rVert = 0$ on the boundary $\partial\Omega$, if $c = 0$ at $\vec{x}(\pm\infty)$. In the space of possible functions $(\vec{f}, u)$, these singular cases only occur in a set of measure zero, so are not very interesting. Almost everywhere, conditions (1-3) are both necessary and sufficient.
Putting this another way, we can say (almost everywhere) that the zero solution is unique if:
$\forall$ paths $\vec{x}(t)$ satisfying ${\rm d}x_i/{\rm d}t = f_i(\vec{x})$ with origin and terminus in the interior of $\Omega$,
$c > 0$ at $\vec{x}(-\infty)$ or $c < 0$ at $\vec{x}(+\infty)$.
Coming back to your condition $c^* < 0$: Note that $\partial_i f^i < 0$ at attractors (this always holds, regardless of whether it's a node, limit cycle, toroid, chaotic attractor, etc.). Therefore, if $c^* < 0$ on $\Omega$, it follows that $c = c^* + \partial_i f^i < 0$ at all of the attractors. Therefore, the second condition above is always satisfied when $c^* < 0$. The condition above is the more general sufficient (and necessary) condition for uniqueness (with the caveats noted above).
Since any dynamical system can be represented by ${\rm d}x_i/{\rm d}t = f_i(\vec{x})$ and dynamical systems can be really, really complicated, the general condition can be hard to work with, so more specific conditions like $c^* < 0$ might be more useful.
Also, defining the value of $c$ is tricky when the attractor / repulsor isn't a point. Taking the average over limit cycles is straightforward, chaotic attractors less so (ergodic theory).
Best Answer
Similar to ordinary linear autonomous differential equations, you can always add any solution to the homogeneous differential equation, to the solution to the inhomogeneous differential equation, often called the particular solution. The same can be said for a linear partial differential equation.
So if you have found a particular solution, lets call it $u_Q(x,t)$, then you can subtract it from the boundary conditions $A(t)$ and $B(t)$, such that the remaining equations can be used as new boundary conditions for a homogeneous equation and thus can be solved by the method of eigen-function expansion.
Writing this in terms of equation; if you define the solution as $u(x,t) = u_Q(x,t) + u_h(x,t)$, such that
$$ \frac{\partial^2 u_Q(x,t)}{\partial t^2} = \frac{\partial^2 u_Q(x,t)}{\partial x^2} + Q(x,t), $$
$$ \frac{\partial^2 u_h(x,t)}{\partial t^2} = \frac{\partial^2 u_h(x,t)}{\partial x^2}, $$
then $u(0,t) = u_Q(0,t) + u_h(0,t) = A(t)$ and $u(L,t) = u_Q(L,t) + u_h(L,t) = B(t)$. This can be rewritten to constraints for $u_h(x,t)$, namely
$$ u_h(0,t) = A(t) - u_Q(0,t), $$
$$ u_h(L,t) = B(t) - u_Q(L,t). $$
Finding $u_h(x,t)$ should be trivial to the method you know, however finding a $u_Q(x,t)$ (since you can add any combination of solutions of the homogeneous equation to it) in general might be harder, but since you have not defined $Q(x,t)$ I got not say anything about that.