Conversion of Hessian from internal coordinates to cartesian coordinates
BAGEL (http://nubakery.org/ and https://github.com/nubakery/bagel) has CASPT2 analytical gradients and can run frequency computations.

It's currently being prepared for 1.0 release, so it might still have bugs. On the other hand, it is freely available under the GPL.

As for converting the Hessian, it might be useful to look at the INTDER program, which is (among others?) part of the PSI3 suite of programs available here: https://sourceforge.net/projects/psicode/files/psi/3.4.0/psi-3.4.0.tar.gz/download - PSI3 is under the GPL as well.

The manual page for INTDER is here: https://manned.org/intder and it says:

"Force field transformations between Cartesian and general internal
coordinate spaces up to fourth order, including nonstationary
reference structures.  Both forward and reverse transformations
are possible; hence, by using intermediate Cartesian coordinates,
force fields can be transferred among different representations in
the internal space."

Whether or not it will be easy to coerce the MOLCAS Hessian into a format INTDER likes and then transform it as you want I cannot say as I don't have any direct experience with INTDER - it is typically run as a step in a chain of commands automatically generated by the PSI3 driver routines.