dealers don't lose on warranty work. they get reimbursed from the manufacturer. on the other hand, the mechanic doing the work won't get paid as well as on a paying job.
disconnecting the battery will kill memory. these computers learn. they'll lose all of that. if disconnected for long enough, they'll lose any associated codes.
if you disconnect the battery with the engine running, you can spike the computer. you don't want to spike the computer. more bad things can happen.