And is oma in the haldata struct (I can't open .rar files to check. (And I am on a Windows 10 PC at work))

Is the code that is setting the oma value in a function that is being used? I am a little unclear which of the forward and inverse kins subroutines get called when. I think I would be tempted to add another HAL pin that changes state whenever forwards kins or reverse kins runs.

i would also need that kind of Kinematics, but with one mode more: Just move (dont rotate, only move) the Coordinate system around the center of rotation with a new M code for example M130 P30 Q50 rotates the B axis to 30° and the C axis to 50° while also moving the coordinte system to that theoretical point but dont let the tool follow the point. This function is standard with Heidenhain controllers and is called "Plane function". I would even Pay for such a Kinematics.

Oh and also be able to move the center of rotation point using Pins for X Y and Z so i could write myself a calibration routine to find the exact center of rotation

Name your subprogram like M130
First you need to calculate your zero point (G54) position relative to you rotation center.
Then calculate zero point rotation, you will get delta XYZ values.
Now add these values(could be negative as well) from your zeropoint (G54) values and you will get your rotated zeropoint position.
then use G10 L2 Pn XYZ to offset your new zeropoint (G58)
Activate G58
G0 BC index your rotation axis with Q P parameter values(this can be optional)