Modeling Offset Issues
The difference between a parented bone with and without offset is that when using keep offset the two bones don't join together, they just follow the same rules as object parenting.

In the bone properties this is represented by the connected property.



Enabling or disabling the Connected property is the difference between choosing connected or keep offset when setting a parent.

Simply enabling connected will rejoin the two bones as if you had chosen connected to start with.

Unfortunately when enabling connected, the base of the child bone snaps to the parent bone and there is no record of the location used before enabling connected. So if you enable connected, unless you undo at the time you will need to manually place the end of the bone back at the position you want it.