I'm also not sure about your problem, but maybe your solution is just this:
DECLARE @person TABLE (id INT, name VARCHAR(100), dob datetime)
INSERT INTO @person
SELECT 1, 'p1', '2009-03-27 00:00:00.000'
UNION SELECT 2, 'p2', '2009-03-28 00:00:00.000'
UNION SELECT 3, 'p3', '2009-03-28 00:00:00.000'
UNION SELECT 4, 'p4', '2009-03-29 00:00:00.000'
UNION SELECT 5, 'p5', '2009-03-29 00:00:00.000'
UNION SELECT 6, 'p6', '2009-03-30 00:00:00.000'
UNION SELECT 7, 'p7', '2009-03-30 00:00:00.000'
UNION SELECT 8, 'p8', '2009-03-31 00:00:00.000'
UNION SELECT 9, 'p9', '2009-04-07 00:00:00.000'
UNION SELECT 10, 'p10', '2009-04-25 00:00:00.000'
SELECT *, DATEDIFF(DAY, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0), dob)
FROM @person
WHERE DATEDIFF(DAY, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0), dob) < 15
Greets
Flo