This has to to with the indexing of the curve. It seem every part is indexed separately but this is not relayed onto the Index node ( only one dimension 0..n an not somethign like (1..p, 1..n) ~~ (Part , PartIndex) ) so on splitting teh curve the index "restarts" of some kind but then it is not correctly interpreted…
Yes, I wish I could do that, but I can't, I have to find a proper way. I feel it's not too complicated, but it's hard to get the nodes right. Sometimes is only one node away..