Bez konkretnego błędu, który się pojawia, trudno udzielić konkretnej odpowiedzi. Opublikowany przez Ciebie kod może być poprawne. Nie widzę nic złego we wszystkich scenariuszach. Oto kilka miejsc, w których zacząłbym szukać.
Czy instrukcja polecenia jest poprawnie sformatowana? Czy wszystkie parametry VarChar akceptują 1024 znaki? Czy któryś z twoich ciągów trafia do kolumny VarChar dłuższy niż 1024? Czy typ returnStatus Int16 jest poprawny?
W każdym razie są to miejsca, od których można zacząć, jeśli opublikujesz bardziej szczegółowe informacje na temat problemu, możesz uzyskać więcej odpowiedzi.