Also note that when hammer saves, it doesn't save the vertex data, it saves the plane data. Basically when it loads a map it just intersects all the planes it has stored in the file and the brush is what's left. If one of your faces is at an oblique angle, the lack of precision in the decimal numbers in the file that define your planes can mess up the exact positioning of the face, and consequently the vertices.
If you're trying to make intricate shapes with brushes, look into making them as models. If what you're doing seems rather simple, then "ur doin' it rong".