Haskell, 108108 107 bytes
1!_=[] n!f|n`mod`f<1=f:(n`div`f)!f|x<-f+1=n!x g(h:t)?x|h`mod`x<1=h*x:t|1>0=x:h:t n#b=all(<=b)$foldl(?)[1]$n g[1]$n!2 !finds all prime factors : it divides n by 2 while modulo is 0 then by 3, then by 4.. Wait 4 is not prime! Ah but it was already factorized by 2saved 1 thanks to @Unrelated String
?all that to group factors!finds all prime factors : it divides n by 2 while modulo is 0 then by 3, then by 4.. Wait 4 is not prime! Ah but it was already factorized by 2#finally we return True if all are <= Bgall that to group factors#finally we return True if all are <= B