Good news. The buffer is now preserved on Channel Change.
Now I just need to maintain pause in case a Programme is Paused on change.
Progress is ours :)
I suspect its when the token expires during runtime of mediaportal. I added some code to handle this but maybe the trakt api has changed so my trigger isn't fired now...