Hello ShaM,
here are some feedbacks based on my experience with milling and 6axis operations with kuka and Sprutcam.
1) TCP calibration is crucial. I found that the longest the calibration tool the better TCP calibration. I recalibrate all my tools using a reference tool 50cm long. This helps to reduce calibration error on the milling tools that normally ar much shorter.
2) If You have A,B and C value different from a perfect straight or normal position to robot flange(0,-90,0), you cannot calculate TCPs only measuring the length difference between tools. You need a system to recalculate X and Y according to A,B, C.
3) Use a height gauge to measure your tools length.
4) Base calibration is crucial. Calibrate X, Y, Z, A, B and C on krc but leave base A,B,C data set to zero in Sprutcam, otherwise you will had additional transformations. Of course this applies only if you import your model in Sprutcam already in the virtual expected position respect to your milling table.
5) Check my old posts, there is a link to a killer calibration procedure that was posted on this forum to improve X,Y and Z calibration after measuring tcp via 4 points
6) I have a KR150 with position accuracy, if you expect precise milling faithful to your drawings (+/-0,..), you cannot mill faster then 2400mm/min.
I hope this helps