I've encountered the same issue, but I just wanted to elaborate on Eric's reply a bit since (to me) it was a little confusing.
The problem that's causing this error is very simple. The catalog provider is in the Fabrikam.Application.Catalog namespace, where all the other providers are without a namespace. Like the error indicates: the type that's registered is Sql/XmlCatalogProvider.
The method being used to validate the settings is Type.GetType, and if you try that method without the namespace it'll obviously fail.
The quickest fix here (with the least impact) would be to add the namespace to the web.config:
<add name="sqlProvider" type="Fabrikam.Application.Catalog.SqlCatalogProvider" connectionStringName="SQLConnectionString"/>
<add name="xmlProvider" type="Fabrikam.Application.Catalog.XmlCatalogProvider" schemaFile="Items.xsd" dataFile="Items.xml"/>
Now this should let you get away clean without a recompile.
Another fix would be to change the code. Now this is similar to what Eric suggests: you can remove the namespace definition at the top of every CatalogProvider and related classes. This will make the CatalogProvider uniform with the way all the other providers.
Another option would be to change all the other providers to actually have a namespace similar to the one in the Catalog provider classes like: Fabrikam.Application.News. Obviously this will also require you to change the web.config as above for all the other
The latter in my opinion is the best/neatest solution and I hope that this will actually be done uniformly in future releases :)