Andria,Your business rule needs to exclude the record your are working on. The best way to do this is include the primary key as part of the test. This will work for new or existing records.
Example:
'-- Establish Locals
Dim loCommand As New SqlCommand()
'-- Build the command
loCommand.CommandText = "SELECT COUNT(*) FROM MyTable WHERE mt_pk != @mt_pk AND mt_lastname = @mt_lastname"
'-- Add the parms
loCommand.Parameters.Add("@mt_pk", Data.SqlDbType.Int)
loCommand.Parameters.Add("@mt_lastname", Data.SqlDbType.VarChar)
'-- Set the parms
loCommand.Parameters("@mt_pk").Value = PassedPrimaryKey
loCommand.Parameters("@mt_lastname").Value = PassedLastName
'-- Return Boolean Results
Return CType(Me.ExecuteScalar(loCommand), Integer) > 0