This appears to be impossible.
We can force an update by setting the start and end frame values for Trim Hard. If the scene was not cut in the VSE and the values are 0 for both fields, we simply cycle through all the strips and set the fields to 0 for all scene type strips.
import bpy
def syncSceneLength(*pArgs):
print("Syncing length of scene strips.")
for s in bpy.context.scene.sequence_editor.sequences:
if(s.type == "SCENE"):
s.animation_offset_start = s.animation_offset_end = 0
def attachAsHandler():
for f in bpy.app.handlers.frame_change_pre:
bpy.app.handlers.frame_change_pre.remove(f)
bpy.app.handlers.frame_change_pre.append(syncSceneLength)
syncSceneLength()
#attachAsHandler()
Paste the code in Blenders text editor. Pressing Run Script will update the scene strips in the VSE of the active scene.
I have added an option to attach the Update to the Frame Change Event. By removing the # character from the last line and running the script, the update function will be attached to the frame change event. On every frame change, the scene will sync the lengths of all scene strips. This may slow down Blender with an extremely large number of scene strips.