to solve the error for the broken site you will need to manually edit the file mojoSiteMap.config in the root of the site and add a line at the bottom like this:
<add name="mojosite1012" type="mojoPortal.Web.mojoSiteMapProvider" securityTrimmingEnabled="false" />
understand that the mp_Sites table script created that table with an identity seed of 1 and an increment of 1 for the SiteID field, so it should increment by 1 when a new site is created and the mojoSiteMap.config file is already populated up to 600 so it should handle up to 600 sites without needing to edit it.
BUT Microsoft in their infinite wisdom decided to change the default behavior in SQL 2012 to add this jump, this article explains the problem and possible solutions.
Hope that helps,
Joe