In Service_Start you may want to check if the Activity whose layout is going to change is actually running so,
If IsPaused(ActivityToCheck) = False Then CallSub(ActivityToCheck,"ChangeLayout")
In the target activity (ActivityToCheck in above code) you deploy a simple sub like:
Sub ChangeLayout
Activity.LoadLayout("mynewlayout")
end sub
Didn't test myself but should work.
Umberto