Since a couple of days I´m looking at the behaviour of the Magento backend. To comprehend I made a new grid to see a table of the bbdd. After finishing this grid I can see that
I think you have your routers in reverse.
Wpr_Giftproducts_Adminhtml
This way the Giftproducts controller is part of the adminhtml router, whereas the old way was reassigning admin controllers to giftrouter.
Giftproducts
adminhtml
giftrouter