I've actually resorted to having some procs accept a special param value that "tells" the proc just to return the current create table command for its result table. Then the outer code can run that code to create the table then run the proc again to get the result. Yes, it's a pain to do the proc code, but if the result table structure changes for that proc, it prevents run-time errors.
SQL DBA,SQL Server MVP(07, 08, 09) "It's a dog-eat-dog world, and I'm wearing Milk-Bone underwear." "Norm", on "Cheers". Also from "Cheers", from "Carla": "You need to know 3 things about Tortelli men: Tortelli men draw women like flies; Tortelli men treat women like flies; Tortelli men's brains are in their flies".