To answer my own question (sort of), I found that calling the click function on the Add button rather than trying to do what the Add button does solved this. Weird thing though, calling click once is sufficient for the LK to move from the source to destination list, but the click needs to be called again for the cascade child field to be updated. Literally I am doing something like myAddButton.click(); myAddButton.click();
It works, so I'm not complaining too much.
It works, so I'm not complaining too much.