Ogr2ogr did an excellent job converting the old Ordnance Survey NTF data; now Ordnance Survey have moved to GML for Mastermap. Attempting to convert Mastermap data earns "Missing outerBoundaryIs property on Polygon" and neither polygon nor point data are converted. Tested in 1.4.1.
As is permitted in the GML Standard, Ordnance Survey have introduced a private namespace, osgb, which includes lower case repetitions of GML tags - specifically <osgb:polygon> and <osgb:point>. Module ogr/gml2ogrgeometry.cpp, function GML2OGRGeometry_XMLNode, performs a case insensitive match outside namespace and matches (osgb:)polygon with (GML:)Polygon and (osgb:)point with (GML:)Point and gets thoroughly confused. It should treat these as for multipolygon/multipoint, ignore the osgb tag and process the GML tags as usual.
Attached is an edited form of gml2ogrgeometry.cpp which now seems to perform as expected.
Sample OSGB Mastermap data, for testing, is available from http://www.ordnancesurvey.co.uk/oswebsite/products/osmastermap/layers/topography/sample.html