Alan, if you use the pre /post 2012 last day of month calculations you posted you get different answers.
This is the problem I have with EOMONTH() is that it returns the date at midnight (I get why, but find it awkward to use).
E.g. 29/02/2016 00:00:00
So if you are comparing to a datetime anything with a later time on that day could be missed.
E.g. 29/02/2016 11:30:00
So if you need to complete month (including the last day) you need to do:
WHERE MyDate < DATEADD(DAY,1,EOMONTH(GETDATE())
I much prefer using the routines in Piet's link which as a plus are also "version agnostic".
select dateadd(mm, datediff(mm, 0, GETDATE()) + 1, 0) -- Beginning of next month
select dateadd(mm, datediff(mm, 0, @ThisDate), 0) -- Beginning of this month