Confirmed, and thank you for the clear report: this is a bug, not anything you are doing wrong.
Nothing currently limits how wide a column can be dragged. When you widen the first column past the ListBox width, everything to its right, including the divider you were dragging, moves outside the visible area. With HasHorizontalScrollbar set to False there is no scrolling on that axis, so the divider is out of reach and there is no way back by mouse. The same thing happens in web projects.
Your suggested behaviour is exactly the direction I will take: when horizontal scrolling is unavailable, resizing should stop while the remaining columns are still visible, so the divider always stays within reach.
I have logged this and it will be fixed in a future release: https://feedback.objo.dev/bug/1703
In the meantime you can recover a stranded ListBox by widening the window or by restoring the widths in code:
List1.ColumnWidths = "*,*"
Leaving HasHorizontalScrollbar at its default True also avoids the dead end, since the scrollbar then appears only when the columns actually overflow.