Deriving 256-bit key from PBKDF2-SHA1
I think it's OK in this instance: an attacker cannot check the first half of the hash (160 bits) because he cannot use AES-256 yet; the key is incomplete. So he needs to run the second half too. He needs the full key to check the decryption.

The OWASP guide refers to the case where the output of the PBKDF2 function is stored directly as the hash-check in a database. In that case the first 160 bit check is already enough to discard almost all invalid passwords. In the rare case the 160 first bits match, you can do the second half to confirm, and that's no extra work, really.