There are two reasons: first your AND condition, which potentially requires that a date has two different values at the same time (I would suggest you want OR instead)
Second because "=" needs exactly the same value on each side - and since these are DATETIME values that means they need to be the same right down to the microsecond. Since you don;t specify a time, '20140206' is midnight on the 6th Feb, which does not match 16:48:09.000 on the 6th Feb.
You can change your query to use
SELECT Scheduledate,Description,Mobile,Replymsg
FROM Shortcode_Course_SMS
WHERE DATEADD(dd, 0, DATEDIFF(dd, 0, Msgdelivered)) = '20140206'
OR DATEADD(dd, 0, DATEDIFF(dd, 0, Msgdelivered)) = '20140207'
There is also a better way to write your first query:
FROM Shortcode_Course_SMS
WHERE Msgdelivered BETWEEN '20140205' AND '20140208'