I don't see why the update page wouldn't work. You are calling the function at the bottom of the page, so it should run when the page loads. I'd have to debug the live page to figure it out.
The validation on the select list should work without problems on the insert page. Just add Required validation to the select list like you would any other field. Since the select one option has value="" it won't pass validation and any other selection would.