You will need to add support for SQL2012 by changing line 163 to this:
IF @Version IN (N'9', N'10', N'11')
I would change the final select to this:
SELECT [ID],[Object Name], [Type], [Rows], [Total(MB)],[-], [Unused(MB)],[==], [Used(MB)],[=],
[Index(MB)],[+],[Data(MB)]
FROM ##FO
union all
SELECT MAX([ID])+1,'==========','',SUM([Rows]),SUM([Total(MB)]),[-], SUM([Unused(MB)]),[==], SUM([Used(MB)]), [=], SUM([Index(MB)]), [+], SUM([Data(MB)])
FROM ##FO
GROUP BY [-],[==],[=],[+]
ORDER BY ID ASC
And finally, I would delete this procedure and rewrite it in a safe way, using parameterised queries and sp_executesql instead of concatenating strings and using EXEC(@String) <-- this provides no protection from SQL Injection attacks.
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);