If PGP and GPG both follow the OpenPGP standard, are they 100% compatible in all use cases? If someone gives me their PGP key, can I use it with GPG, and vice versa, all the time (100% interchangeable)? Or are there times when they are not compatible, when only PGP can be used with a PGP key, and only GPG used with a GPG key?
"If PGP and GPG both follow the OpenPGP standard, are they 100% compatible in all use cases?"


No, they are not 100% compatible in all use cases, because — depending on the PGP version — there are known interoperability problems.

The GNUPG FAQ answers this question quite well:


  Is GnuPG compatible with PGP?
  
  In general, yes. GnuPG and newer PGP releases should be implementing the OpenPGP standard. But there are some interoperability problems. See question How can I encrypt a message with GnuPG so that PGP is able to decrypt it? for details.


For your convenience, I'll also quote that linked Q&amp;A:


  How can I encrypt a message with GnuPG so that PGP is able to decrypt it?
  
  It depends on the PGP version.
  
  
  PGP 2.x
  
  You can't do that because PGP 2.x normally uses IDEA which is not supported by GnuPG as it is patented (see How do I include support for RSA and IDEA?), but if you have a modified version of PGP you can try this:

$ gpg --rfc1991 --cipher-algo 3des ...

  
  Please don't pipe the data to encrypt to gpg but provide it using a filename; otherwise, PGP 2 will not be able to handle it.
  
  As for conventional encryption, you can't do this for PGP 2.
  PGP 5.x and higher
  
  You need to provide two additional options:

--compress-algo 1 --cipher-algo cast5

  
  You may also use "3des" instead of "cast5", and "blowfish" does not work with all versions of PGP 5. You may also want to put:

compress-algo 1

  
  into your ~/.gnupg/options file — this does not affect normal GnuPG operation. 
  
  This applies to conventional encryption as well.
  


I think that pretty much answers your question.