From a mathematical point of view it looks ok, i think the problem is in
the logic

unrolling the loop might help

test first box to check if it is inside the frustum

second

..

eigth

if All of them are outside then the cube is outside

if All of them are inside, the cube is inside

if all of 8 points are not inside or outside then ,the cube is intersecting the frustum

so you have to flag each box’s points and then do a check on the status of all those flags, i think you exit with a false too early from the for cycle.

basicly im taking the 4 corners of the screen producing vectors, then making frustrum planes for the 4 sides of the screen, then

then a do a dot coord check with the 8 corners of the box, if all the points are outside any frustrum plane testing all 4 planes then its not in the frustrum.

unfortunately its rejecting too much, what have i got wrong?

ignore vecin and vecout, thats just my crappy wrapper i wrote terribly.