Hi beddows,
Some changes in the code and explanations.
Previous code can operate only within the workbook where it is placed. The below should work without this limitation.
Assumed that the workbook you want to remove pages is "Wbk1.xls".
Sub DelHiddenPages()
Application.DisplayAlerts = False
On Error Resume Next
With Workbooks("Wbk1"

For i = .Sheets.Count To 1 Step -1
If .Sheets(i).Visible <> xlSheetVisible Then
.Sheets(i).Visible = xlSheetVisible
.Sheets(i).Delete
End If
Next i
End With
Application.DisplayAlerts = True
End Sub
Some remarks:
1. I added some code to run macro quiet. Property DisplayAlerts set to False removes annoying questions concerning confirmation to delete page. Line On Error Resume Next allows macro to continue if worksheetsheet is protected and sheets cannot be deleted. If you comment those lines, you will have more information on macro running.
2. I refer to the workbook name by "Wbk1" (excel XP), however according to the help file should be "Wbk1.xls" (this does not work).
3. Before deleting page I make it visible. This is because you can't delete page if it is "very hidden" (error occures).
4. You can't delete pages if the structure of the workbook is protected.
5. The workbook "Wbk1.xls" should be open before you run code. However, with some additional code this can be automated (for instance using build in dialog xlDialogOpen).
Hope this will work. Sorry for not precise previous answer.