Der Timestamp-Cast ist wohl dem ODBC-Zugriff (C#) geschuldet, da dieser ggf. damit nicht zurechtkommt.
Für den CLose ist doch eigentlich der Aufrufer zuständig, wobei dieser ja vom Cursor-Namen nichts kennt.
Aber ohne Final Table scheints ja zu funktionieren.