How do I get all records where date is 6 months greater than today's date, using Microsoft SQL Server 2008?

Try this:

SELECT * FROM Table
WHERE lastdelivery <= dateadd(month, -6, getdate())

Use DATEADD

Query

select * from your_table_name
where lastDelivery <= dateadd(month, -6, getdate());

            DECLARE @subscriptions TABLE
            (
                OrderId int,
                OrderName varchar(255),
                lastDelivery date default getdate()
            )

            INSERT INTO @subscriptions (OrderName, lastDelivery) 
            VALUES 
            ( 'Allen', '2015-05-20'),
            ( 'Bob', '2015-06-20'),
            ( 'Craig', '2015-07-20'),
            ( 'David', '2015-08-20'),
            ( 'Edward', '2015-09-20'),
            ( 'Frank', '2015-10-20'),
            ( 'George', '2015-11-20'),
            ( 'Harry', '2015-12-20')

            SELECT OrderName FROM @subscriptions
            WHERE lastDelivery <= DATEADD(MONTH, -6, GETDATE())