まず第一に、NSDate が NSTimeInterval 内にあるかどうかを確認しても意味がありません。なぜなら、NSTimeInterval はその場所ではなく時間の長さを指定するだけだからです。代わりに、間隔の開始と終了を指定する 2 つの別個の NSDates を使用する必要があります。
これは次のようになります (beginningTime と endTime は NSDates です)。
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"YourEntityName" inManagedObjectContext:yourContext];
NSPredicate *beginningPredicate = [NSPredicate predicateWithFormat:@"createdAt >= %@", beginningTime];
NSPredicate *endPredicate = [NSPredicate predicateWithFormat:@"createdAt <= %@", endTime];
request.predicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:beginningPredicate, endPredicate, nil]];
NSArray *results = [yourContext executeFetchRequest:request error:NULL];