Please check this very carefully to see if I have made any mistakes
x1=15.75*10^-6; a=x1 x2 x3^3; b=x1 x3^3; c=(9 x1+x3)x3^2; d=36 x1 x3+3(3+x4/x5)x3^2;
e=60 x1+12(3-2 x4/x5)x3; f=60(1+x4/x5); X=b c-a d; Y=b e-a f; Z=(d X-b Y)Y-X^2 f;
Con1=d X Y-(b Y^2+f X^2); Con2=(5 x1+3 x3)/(2 x3);
NMaximize[{Con1, Con2>x4/x5 && 1*10^-6<x2<4*10^-6 && 20*10^-6<x3<50*10^-6 &&
10<x4<100 && 10<x5<100},{x2,x3,x4,x5}]
(*{7.367860243792591*^-59, {x2 -> 3.0786924361325835*^-6,
x3 -> 0.00004972976008268178, x4 -> 10.031234356582235,
x5 -> 44.64769318375559}}*)
Con2>x4/x5 /. %[[2]]
(*True*)
Because that value of Con1 is so small it may be nothing more than roundoff error. It may also indicate how difficult it may be to find the boundary where Con1 > 0.