Are you sure you're not getting an error somewhere in the execution path? I've never tried toggling a select element between a multiple select and a single select.
It seems it just doesn't work in Safari if the .hide()-stuff is before the multiple = false. Well, whatever.
Quite frankly, this just feels "wrong". Is there a reason you're doing this?
It's just 'cosmetics'. In my CMS there is a select-element for connections between elements of the menu. If it's an element of the mainmenu, you can choose multiple elements as a child, if it's an element of the submenu you can choose just one element as a parent.