I can see how this is useful, but we shouldn't be returning HTTP errors from the model layer. HTTP 404 errors for missing users should only be shown when you are visiting a page directly relating to the user - like the user's profile page. If the user in missing in other places it should be handled or result in something like a HTTP 500 error.

Exception handling in the model layer always tends to be tricky. Consider using a custom UserNotFound exception or something similar.