Why do all the faces in my mesh turn into circles when adding a Subsurf modifier?
All edges of the mesh are "split": every face has an  edge perfectly overlapping the edge of the adiacent face. If you select all in edit mode and remove doubles everything will turn fine.