Yes, it is possible to delete a pivot cache using VBA.
I don't know why you would want to add a new one, unless maybe you deleted the
old one.
My understanding is that a pivot refresh after your "re-query" is all that is
required. I do this all the time in VBA except my "re-query" is copying an
Excel sheet from another workbook (which actually is a re-fresh from Oracle).