Please report this issue to Wolfram support. It seems that LinearSolve has a bug related to the new in M12 handling of machine number underflow. As an example, the following extracts the LinearSolve call that doesn't work in M12, but does in M11.1:
ls = Reap[
SpheroidalS2Prime[0, 0, -I, 0.],
Looks like you have to fool around with the precision on a case by case basis.
N[SpheroidalS2[0, 0, -I, I/2]]
(*-0.6890905745631529 + 0.*I*)
N[SpheroidalS2[0, 0, -I, I/10]]
gets an overflow. However,
N[SpheroidalS2[0, 0, -I, I/10], 50]
-1.13893813158018132761330789352859720024513682988326 + 0.*10^-51 I
In any case, I would always ...