I use xfce4-power-manager, among other xfce4 goodies, in my non-xfce4 desktop environment. The power manager therefore in charge of managing the behaviour of my session suspend/resume. Recently, the `lock screen on suspend' option became enabled somehow, which resulted in `xflock4` being launched on suspend. Due to the way xflock functions by default, I assumed that some manner of odd behaviour was occurring with the graphics stack and ACPI. After much investigation, nothing appeared wrong. Noticing that several other users were complaining of similar behaviour (blank screen on resume with xfce4-power-manager) and stating that it was fixed by disabling the `lock screen on suspend' option, I decided to have a look through the source code of the package. I quickly discovered that the behaviour behind this (located in `common/xfpm-common.c', inside function `xfpm_lock_screen`) tries multiple methods of locking the screen, with `xflock4` being the first method, and other more environment-agnostic commands being second. There is a comment about the `xdg-screensaver` method stating that it should be the default behaviour, and this is a good idea. I would, however, like to point out that I do not use a screensaver, and therefore none of these methods would work well enough. I would propose that some manner of configuration option be added that would allow the user to (optionally) specify a specific command to lock the screen, or alternatively to execute the equivalent script to `/usr/share/acpi-support/screenblank` in order to allow for desired behaviour in locking the screen.
We decided to put this xfconf setting into xfce4-session, since it is more likely for people to run xfce4-session with xfce4-power-manager than the other way round. This seemed like the easiest way to improve the problematic script that xflock is. (See http://git.xfce.org/xfce/xfce4-session/commit/?id=e940818853582290af21bf38d73ee26143d500ad) Adding yet another option in xfpm would complicate things and I'm not a huge fan of that. What you can do to fix your custom setup is to just create an xflock4 script with your locker called inside, simple as that.
Alright, closing this one.