Hi Brad,
From your description, is your current version wave 2 release ?
1. You could create a simple dynamic segment with script by web api below to test whether your current user has sufficient privileges to create segment entity firstly.
var data = {
"msdyncrm_segmentname": "Test Segment",
"msdyncrm_segmentquery": "PROFILE(contact, contact_1) .FILTER(contact_1.lastname CONTAINS 'XXX')",
"msdyncrm_segmenttype": 192350000,
"statuscode": 192350006
}
var entity = "msdyncrm_segment";
var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() "/api/data/v9.0/" entity "s", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
req.setRequestHeader("Prefer", 'odata.include-annotations="*"');
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 204) {
Xrm.Utility.alertDialog('ok');
} else {
Xrm.Utility.alertDialog(req.statusText);
}
}
}
req.send(JSON.stringify(data));
2. Make a backup unmanaged solution, add segment entity and select information main form in it.
Remove Query definition field and publish (1) it to test whether the field has been removed on form.

Drag the field back to section again, and double click to edit its Controls properties,
set CC_SegmentationIFrameFilterQuery field to msdyncrm_segmentfilterquery (Multiple),
set CC_SegmentationIFrameMemberIds field to msdyncrm_segmentmemberids (Multiple);
then publish the form again to test whether designer could come back.

Regards,
Clofly