I finally figured out what in emule was ruining my network. I tried everything and nothing worked. I was always getting timeouts. Until i went into the extended settings in emule and changed connections per 5 seconds to 5 from the default of 20. Miracle. It now works great. So apparently lots of connection attempts in a few seconds is an effective way of starving all other machines behind a linux gateway even if you're using SFQ.