Why is AES encryption decryption not platform agnostic? We work on C++ code which compiles on Windows and Linux. I have been told that AES encryption/decryption is platform dependent. Is it true? If so, why is it OS dependent?
No, it isn't.

As a C++ programmer you'll realise that the source code can be environment dependant - such as the 32 /64 bit thing.  Or memory capacity.  But you should also realise that an algorithm is OS agnostic.  Isn't this actually intuitive? One way to look at it are all the IOT devices out there.  They often use AES for encryption and they manage to talk to each other and control your hot water from your phone.  Those devices are all different, and some might  be 8 or 16 bit affairs. And some might even run on batteries like your phone.

See  the Advanced Encryption Standard Algorithm Validation System for test vectors.  This document shows you what should come out of your AES code.  You've just messed up either your native code implementation or the library API. If you can't understand section 6, Modes of Operation then you need to do some additional fundamental research regarding block ciphers.  Remember that AES itself is only the block primitive that accepts a key and a (plain/cipher/IV)text input.  Nothing else.  

To reinforce what I've said, look at the referenced document, appendices B to E.  There is absolutely no mention of operating system, programming language,   hardware type or battery voltage.  AES is totally abstracted from it's environment.  If you have a problem with compatibility, it's an implementation issue.