I haven't managed to do it with reflection. Instead I found a simpler idea/solution. In my test class, at Create/setUp method I get the sessionContext from Seam Context and change the webDavClient name to be bound with WebDavMockClient instead of WebDavClient. And this is how you solve this whole problem with a one-liner:
// Setting webDavClient to be injected by seam as WebDavMockClient to mock the actual delete
Contexts.getSessionContext().set("webDavClient", new WebDavMockClient());