http://mathworld.wolfram.com/CliqueCoveringNumber.html
Removing edges won't help you, since the new graph may be missing a clique that would of been used to solve the cover.
B
/ | \
A | D
\ | /
C
You have 2 maximal Cliques, ABC and BCD, if you started with ABC and removed it's edges AB AC and BC your algorithm wouldn't be able to find the BCD clique.
You'll need all of the maximal cliques of the graph before you try to calculate clique cover number.
AllCliques = GetAllCliques()
MaximalCliques = AllCliques
For Each ckA in MaximalCliques
For Each ckB in MaximalCliques.Excluding(ckA)
If all vertices in ckA are in ckB Then MaximalCliques.Remove(ckA)
If all vertices in ckB are in ckA Then MaximalCliques.Remove(ckB)
Return MaximalCliques
Then the naive approach to find the clique cover number from all of the maximal cliques is run through the permutations and check
MinCover = MaximalCliques.Count
For Each ckList in Permute(MaximalCliques)
Cover = 0
TestSet = Graph.Vertices
For Each ck in ckList
TestSet.Remove(ck.Vertices)
Cover = Cover + 1
If TestSet.Count = 0 Then Break
If Cover < MinCover Then MinCover = Cover
Return MinCover