Why would this statement cause an error? Are you passing incompatible data types?
>UPDATE Company
> SET Price = @Price
> WHERE CompanyID = @CompanyID
>
>SET @ErrorNo = @@ERROR, @RowCnt = @@ROWCOUNT
Replace the SET with a SELECT and everything should work.
-Mike