I discovered this by accident when making some code changes. I am using VS2019 Community with the latest updates as of 10/30/2020. The following do-nothing code is in a .c file and both Intellisense and the compiler claim that 'identifier "bool" is undefined'. The problem goes away if either of the stdio.h inclusions is removed or the stdbool.h inclusion is not sandwiched between them.
Obviously there is no reason to have both stdio.h inclusions but I had thought that header files were required to be designed such that they could be included in any order and such that multiple inclusions would have no detrimental effects. I haven't examined the contents of the headers simply because that seemed irrelevant to whether this behavior violates the standards in some way.
#include <stdio.h>
#include <stdbool.h>
#include <stdio.h>
int main(void)
{
bool b;
}