I'd recommend the lawyer as well, my office has many immigration clients.
Waivers can be tricky only because you want to present your case in the best light. There's the way USCIS sees the facts on paper and what actually happened from your prospective.
I wouldn't lose hope though, we've dealt with some really difficult cases in our office and they were granted waivers and the situations were more convoluted then this so stay positive