(A day late and a dollar short)
I'm still using excel 2003 and have this problem.  These macros delete the old sheet and add a new sheet.  The first macro will truncate a sheet so the "Ctl-End Lastcell" is the last of the content.  The second macro just deletes the sheet and adds a new sheet with the same name so the "Ctl-End Lastcell" is A1.
Sub ShTrunc() ' truncate active sheet to content only
  Dim sold$, snew$, rowz&, colz&, zRange As Range
  ' -- get old and new sheet names
  sold = ActiveSheet.Name ' old sheet name
  Sheets.Add
  snew = ActiveSheet.Name ' new name
  ' -- get the "true" last row and column
  ' based on http://www.rondebruin.nl/win/s9/win005.htm
  Sheets(sold).Activate
  Set zRange = Cells.Find("*", [a1], xlFormulas, xlPart, xlByRows, xlPrevious, False)
  If zRange Is Nothing Then rowz = 1 Else rowz = zRange.Row
  Set zRange = Cells.Find("*", [a1], xlFormulas, xlPart, xlByColumns, xlPrevious, False)
  If zRange Is Nothing Then colz = 1 Else colz = zRange.Column
  ' -- copy the content from old sheet, paste to new sheet
  Range(Cells(1, 1), Cells(rowz, colz)).Copy ' Sheets(snew).Cells(1, 1)
  Sheets(snew).Activate
  ActiveSheet.Paste
  ' -- delete old sheet and rename new to old
  Application.DisplayAlerts = False
  Sheets(sold).Delete
  Application.DisplayAlerts = True
  Sheets(snew).Name = sold ' rename to old name
  ' -- the following checks if the world works as it should
  If ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row <> rowz Then Stop
  If ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column <> colz Then Stop
End Sub
Sub ShDelAdd() ' delete and add active sheet (to CLEAR it)
  ' this is a simpler version of ShTrunc if you only want to clear a sheet
  Dim sold$, snew$
  sold = ActiveSheet.Name
  Application.DisplayAlerts = False
  Sheets(sold).Delete
  Application.DisplayAlerts = True
  Sheets.Add
  snew = ActiveSheet.Name ' new name
  Sheets(snew).Name = sold ' rename to old name
  ' -- the following checks if the world works as it should
  If ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row <> 1 Then Stop
  If ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column <> 1 Then Stop
End Sub