Generally speaking, no.
You're basically implementing a software equivalent to a guarded switch. This is not a pattern that the large majority of users are familiar with and it will cause confusion on initial use.
It is a button that looks like any other button, but behaves differently. It is also unclear how I use the button.
- Do I click once, get the popup, and then click again?
- Do I quickly double-click to use this button?
- Do I click once, get the popup, and then have to double click - making it a triple click?
- How do I know which button is "guarded" and which isn't?
- What happens if I sneeze and accidentally double-click the button?
If you require a popup to explain how the use the button, that should be the first indication that it is designed less then ideally.
I've implemented a guarded button in software once, for a Department of Defense user interface. The button looked very different, took a second to "open" before accepting a second click, and used a pattern well understood by military personnel. I argued against it then (I lost) and I would argue against it in the future.
You are better off using a standard pattern such as undo or a confirmation. Which to use depends on your situation - Deletion: Confirm or Undo? Which is the better option and why?