OnBlur and OnFocus for web controls are more 'raw' than the windows OnEntering and OnExiting messages. In JavaScript we have less control over these events than we have in the windows framework (which does all kinds of checks and decisions based on where the focus goes to). We also did not want to the round-trip (this is more a WebApp thing than a FlexTron thing) to disturb the user on the focus events so the server event triggers asynchronously in the background. This is also why the Field_Entry_msg and Field_Exit_msg of the DD's are not fired for the web.
Field validations trigger when tabbing out of a field, which is also a conscious decision based on having less control over OnFocus and OnBlur.