Compositor Time Node Cap
This is not a bug, it's simply the current limit because the underlying data type is short. You can retrieve the upper and lower limit for the property through

bpy.context.scene.node_tree.nodes["Time"].bl_rna.properties["frame_end"].hard_max


and

bpy.context.scene.node_tree.nodes["Time"].bl_rna.properties["frame_end"].hard_min


which are 32767 and -32768 respectively.

The reason for this is because Blender uses two variables custom1 and custom2 of type short declared in DNA_node_types.h for various node properties. This includes the start and end frame of the Time node as can be seen in static void def_time(StructRNA *srna) from rna_nodetree.c.