I'm not sure if you have considered this; perhaps you have. Also not sure if what I am suggesting is possible (Enhancements adding Interface Methods; pretty new to WebDynpro; but I've used similar technique to access internal objects in OO ABAP).
What if you enhanced the components with new Interface Methods that return the object reference? Instead of trying to set the object itself to Interface?
Does that make sense?
Add Enhancement Interface Method to POWL_TABLE_COMP which gets reference to it's SALV_WD_TABLE object and passes it back through Returning Parameter. Then add enhancement method to POWL_UI_COMP which calls the POWL_TABLE_COMP enhancement method, and passes the received reference back as a returning parameter. Then have your enhancement to HAP_START_PAGE_POWL_UI call the enhancement method from POWL_UI_COMP, receiving the reference to the SALV_WD_TABLE object that is in POWL_TABLE_COMP; you can then perform all your code interacting with the SALV_WD_TABLE in the HAP_START_PAGE_POWL_UI method you created.
Perhaps I am misunderstanding your issue, but it seems like passing an object reference back through a series of enhancement Interface methods should be very possible.