Callum. I would just like to point out that you could potentially drop the ID table from friends, and set your primary key to the combination of user_id and user2_id.
what for? High resource usage I suppose? You can always upgrade to paid if that is a problem. Else be happy with what you have. If you want tips on reducing resource usage just come to the forums and ask. x10 free hosting is very good.
Why exactly are you guys doing this? What's in it for you? You guys do a lot of effort for free users even though you don't get anything in return. Well, I suppose a thank you will have to suffice for now, until I finish my website and upgrade to premium/VPS.
Or perhaps try earning your cash in an honest manner? Imagine what would happen to services such as AdSense if everyone did this. They will be forced to either reduce payouts or shut down their services (if not google, people advertising through them will stop using their services and this is...
using ajax won't get your resource usage over the roof in any way. Constantly reloading/refreshing webpages or parts of them might. So, the ajax components you use, do they cause a partial page refresh? If they are chat scripts they most likely do so, and using a chat script will get you...