@
bdistler is correct — the FROM header address has to be an address that belongs to your hosting account. And outgoing mail has to go through the x10Hosting SMTP server for spam filtering. (For things like contact forms being sent to your own external email address, you can always use the ReplyTo header to make it easier to reply to inquiries, etc.)
As for mails actually getting to where they're supposed to go, there are a whole number of things that can get in the way. The usual culprit is that the mail sending queue gets filled up (please remember that you're sharing a server with a whole lot of people who aren't necessarily playing nice, and no matter how good the admins get at playing whack-a-mole, there are always more new moles signing up every day), and when the queue gets large enough it may get suck and needs to be purged. That can, unfortunately, kill some legitimate pending messages without any sort of failure notice. It happens from time to time as well that an email service decides (because of user reports) to silently discard mails from x10Hosting Free Hosting servers. That problem usually takes a while to discover (from common problems among several support tickets) and additional time to fix with the email service provider. Sorry, folks, but that's the sort of thing that comes along with semi-anonymous free hosting; with paid hosting, users are usually on the hook for the cost of the damage they do (and are at least going to lose what they've paid so far), so the frequency of problems is far lower.