In order to send the parameters to a stored procedure, you have to give two bits of information: the parameter name, and the parameter value. If you miss out the name, the SP does not know where to put the value, and if you miss out the value, the SP does not know what to put in!
You have a choice: Use Parameters.Add as you are in your example, or use Parameters.AddWithValue instead:
SqlConnection mySqlConnection = new SqlConnection(ConnectionString);
SqlCommand mySqlCommand = new SqlCommand("InsertData", mySqlConnection);
mySqlCommand.CommandType = CommandType.StoredProcedure;
mySqlCommand.Parameters.AddWithValue("@UsrID", "ID0001");
mySqlCommand.Parameters.AddWithValue("@UsrFName", "FirstName");
mySqlCommand.Parameters.AddWithValue("@UsrLName", "LastName");