Sorry for the late response here, @MoiraGoggin and @NancyHanson. Another idea outside of what @PeterWolf mentioned would be utilizing VI the way you described in your original post to do an export/import to reclassify the Order Type so that the utility could in fact latch onto and purge them.
I don't know enough about VI to describe the process, but this is my current theory along with a limited understanding of VI... disclaimer, back up your system before trying, etc etc. In Theory...
1) VI Job Exports all Order Types equal to ""P"" to a CSV.
2) CSV is updated to default to a temporary Sage 100 customer number (can't use PROSP or whatever the Sage 100 Company's Default has been set as in the CRM Company Settings). You may also have to remove the Prospect ID and all correclating Sage CRM data values (I think the remaining CRM-related values are CRMOpportunityID, CRMCompanyID, CRMUserID, CRMPersonID). Change OrderType from P to Q.
3) VI Job Imports all to overwrite/update the Prospect quotes.
4) Run ""Purge Expired Orders/Quotes"" utility.
5) Verify their removal
That's the first step. The second step applies to the clean up of the Sage CRM system. You'll want some sort of similar SQL script to update the Sage CRM database's Opportunities that are attached to those prospect quotes to bulk update them as well with some generic ""lost"" reason such as ""Quote Expired"". Similar reason for this is to ensure they're not clogging up the customer's Opportunity pipeline as well.