John,
I don't think I understand why you're doing both of these things:
1.
Sheets("Blank Time Card").Select
Sheets("Blank Time Card").Copy Before:=Sheets(2)
which would give you a copy of sheet
"Blank Time Card" with the name "Blank Time Card (2)"
2.
Worksheets.Add.Name = Sheets("Blank Time Card(2)").Range("f4").Value
which will add a sheet named from cell F4.
By the way, the first one can be reduced to
Sheets("Blank Time Card").Copy Before:=Sheets(2)
though the code may run differently, as the same sheet won't necessarily be
the selected one as with before.
The second can be reduced to
Worksheets.Add.Name = Sheets("Blank Time Card(2)").Range("f4").Value
dropping the With stuff, since you're not really using it.
Try stepping through your code with F8, Alt-Tabbing back to Excel to see
what it's doing.