Sounds like you're doing it correctly. When I've had geometry or other errors when generating dissolved buffers I've done one of two things:
1. If possible, run the buffers on separate, individual portions of the existing geometry, then merge them.
2. Really drilled down in to the buffer polygon and look for small loops, crossovers and concentrations of vertices that get generated by the buffer geoprocessing tool and *hand edit* all those nasty little buggers out of the polygon. Takes forever but you can end up with a buffer polygon that's clean. The Buffer Geoprocessing tool doesn't correct for any less-than-ideal geometry in the source Feature Classes or shapefiles and in some cases can pass along or amplify geometric aberrations that may be present.