If you change that line to following, the marker will be created only
at the first onBlur. Second+ time it doesn't do anything.
var aBusinessMarker = aBusinessMarker || new
google.maps.Marker({ draggable: true, map: map,
position: results[0].geometry.location});
Add a second line that positions the marker every time:
aBusinessMarker.setPosition(results[0].geometry.location);
If you post a link to your page under work, you get better advice.