AJAX-based PHP server-side form validation
What I would do:


Use an autoloading function (basic example, PHP manual) to get rid of require_once
$this-&gt;$username won't work as you expect, replace it with $this-&gt;Username
Avoid magic numbers like if (strlen($ProposedUsername) =&gt; 4), instead define constants (or class constants)


But basically, it seems that you have quite well understood the basic principles of OOP.

As a matter of preference, I would:


Use Allman coding style
Use // instead of /* */ for one line comments
throw a UsernameAlreadyTakenException (create it by simply extending Exception) and do nothing if username is available, instead of simply echoing the checking results.
EDIT: I like exceptions for such "checking" functions, because IMO it's a good way to refactor tons of "if" + error handling code. Calls look like:

// clean readable checkings, and if something goes wrong, you are informed :-)
// however and obviously, in production environments, all exceptions should be
// caught at high level ==&gt; logged + a user-friendly message displayed.
$user-&gt;checkUsernameExists();
$user-&gt;checkEmailExists();

// or in a few cases
try {
  $user-&gt;checkUsernameExists();
} catch (UsernameAlreadyExistsException $e) {
  //...
}