I wouldn't use it cause the coding error is still there.. it's like when you get a noise on your car.. the solution.. turn the radio up louder.... but the problem still remains.
ob_start is an output buffer not an error catcher.
what is happening is something is outputting data to the browser.. this could even be a " ". If you then attempt to do a header call it will error out.. like I mentioned earlier. put your form processing code at the top.