My one recommendation is that if you are cost conscious, send your IP projects (copyright, patent, trademark) to a boutique or, as we call them, a 'mill'. Having worked in both boutique and large conglomerate firm settings, I can attest to the fact boutiques are far more organized and, because their overhead is so much less, far less expensive.
W/r/t at what point in your development cycle you should register the TM, I have seen the spectrum of very early to very late filings. While in one instance a late-stage filing resulted in more similar marks out there (and the class claims for goods/ services had to be much more limited) I have not yet seen it be detrimental to getting registered eventually.
On the other hand, small start-ups (both net based and brick-and-mortar) account for a disproporionate number of the applications we have to let go abandoned due to client request or nonpayment.