cleaned up IsBad*Ptr

now messing less with the memory
(http://blogs.msdn.com/b/oldnewthing/archive/2006/09/27/773741.aspx)