Sí, se insertarán al final de la tabla.
Para usar SqlParameter puedes hacer lo siguiente:
Código vb.net:
Ver originalDim aCmd As New SqlCommand("INSERT INTO (codigo, nombre) Values(@codigo, @nombre)")
aCmd.parameters.Add("@codigo", SqlDbType.Char, 5).value = Me.DataGridView1.Rows(i).Cells(1).Value.ToString()
aCmd.parameters.Add("@codigo", SqlDbType.VarChar, 100).value = Me.DataGridView1.Rows(i).Cells(2).Value.ToString()
'
'demás código
'
Haces un insert normal y en los valores en vez de pasarlo directo del datagridview le indicas una variable, que puede ser cualquier nombre, pero siempre con el @ al inicio.
Luego en usas el método Add de la propiedad Parameters, primero indicas el nombre del parámetro, luego el tipo (char, varchar, int, money, etc), la longitud del campo, y por último el valor que contendra.
Espero te ayude, cualquier duda me avisas