I suppose the wrinkle in your problem is that the bounding box can be rotated? If so, the simplest solution for me is to do all the calculations in a rotating coordinate plane centered on the center of the bounding box.
To calculate the coordinates of a point relative to these axes:
newy = sin(angle) * (oldy - centery) + cos(angle) * (oldx - centerx);
newx = cos(angle) * (oldx - centerx) - sin(angle) * (oldy - centery);
(you may need to adjust this depending on how the angle should be measured, I will leave it to you since you did not specify)
, :
return (newy > centery - height / 2) && (newy < centery + height / 2)
&& (newx > centerx - width / 2) && (newx < centerx + width / 2);