This is because the commercial is shorter than min_commercial_break_at_start_or_end
The default is
min_commercial_break_at_start_or_end=39
any commercial shorter then 39 seconds will not be marked as commercial at the start of the end of the recording
Add
min_commercial_break_at_start_or_end=xx
to your ini file and set xx to a value shorter then the commercial you want to detect