Q:

Is it a contradiction to do a hypothesis test on 1000 simulated datasets and never get a p value <0.05.  Type 1 error question. 

I am trying to calculate the type 1 error of a bootstrap hypothesis test procedure (won't go into the hypothesis test here).  
I ran the test on 1000 simulated datasets (simulated under the null hypothesis of no effect).  The smallest p value I got was 0.45, giving my procedure a type 1 error rate of <0.001.  
Is this a contradiction?  Shouldn't I find p<0.05 in about 5% of the datasets? 

A:

We can be more precise: if your test is performing as expected then the probability of finding a 1,000 samples from a population where the null hypothesis is true with a $p$-value more than .05 is $.95^{1000} \approx 5.3 \cdot 10^{-23}$. That chance is not zero, but pretty small (that is an understatement...).  
If this were happening in a project of mine, my first step would be to assume that I made an error in implementing this simulation.  

A:

Yes, you should find $p < 0.05$ in about 5% of the datasets.  Two things to consider:

The P-value is a random variable, so it's entirely possible (if improbable) that you didn't get any significant P's just by chance. 
More likely, you have a bug in your code.