• I had thought that SQL coerced the @OrderID int value to a varchar to do the comparison

    You are suggesting that SQL does the coercion the other way - coerces all column value to an Int to compare to @OrderID?