Why wouldn't a between work?
DateTime startDate = new DateTime(2005,0, 1);
DateTime endDate = startDate.AddMonths(1).AddSeconds(-1);
IRelationPredicateBucket bucket = new RelationPredicateBucket();
bucket.PredicateExpression.Add( PredicateFactory.Between(FooFieldIndex.TimeStamp, startDate, endDate) );