NO NO NO!
I know discussions about the IsBadRead/WriteXXX functions are a can of worms but, I feel many of the concerns about them are overstated.
It is true that those functions can totally mess up the guard pages but, they wouldn't if there wasn't a bug (or at least a deficiency) in the code.
The bottom line is: if the program is bug-free those functions will not cause any harm. OTH, if the program isn't bug free then the program's memory map (particularly its stack pages) will get messed up and this is very easy to notice using a virtual memory viewer (e.g, Process Hacker). IOW, it's a very easy way of finding out if there is a bug somewhere in the program. Additionally, they make it easy to find out where the bug is, put a breakpoint at lines that call them, execute the call and then watch what happened to the memory map. If the map is ok, that call is ok, if it is not ok then something is wrong.
Attached is a little program that shows what happens when IsBadReadPtr is _misused_. It shows its own virtual memory map. To see the effect of the misuse of the function, first locate a page with a "G" in the protect column (which means the memory block is used as a stack) then repeatedly select "update process map" from the "IsBadReadPtr" menu. Watch how the size of the guarded block increases every time the map is updated (that shouldn't happen in a bug free program.)
PS: this is one of the examples I will eventually post the source of. The attachment to this post only includes the executable.