i wrote you script exactly as you did and it worked on ym system. I ran it as root and changed the ownership but it works fine. i did chmod 700 test chown root:other test. then i created a /var/core dir. then touched multiple files with numbers in them i ran it and they were gone.
find /pgmfgfpws/app/oracle/mfgfpwsdb/10.2.0/admin/mfgfpws_webisstg70/bdump -mtime +1 -exec ls -ltr {} ;
Backslash is missing. Without blackslash if bdump directory is empty after deleting all files which meet deletion criterion, find command deletes bdump directory as well. I don't want bdump directory to be deleted even though it is empty.
Add -type f to only delete files and not directories matching the criteria.
I don't think the lack of a backslash is the explanation. If you mean the one before the ; it's required to pass through a literal semicolon; you could equivalently put the semicolon in single quotes, for example, to prevent the shell from interpreting it as a command separator. What you see with set -v or equivalent is what actually gets executed after quoting and backslash substitutions have been processed by the shell.
I would assume that the reason the directory gets removed is that it meets the criteria you have, plain and simple. Its modification time will be updated when you delete files in it so specifying -depthfirst if your find has that might also be a workaround.
ls is not a good test case because it's hard to see when it's listing files in the directory vs when it's listing the whole directory. Adding the -d option would help disambiguate, or you could simply use echo for debugging.