This is NOT a Visual Studio 2012 BUG, but I cannot find a better category. Please ignore it if you think it is unrelevant.
This is a bug in the ARM compiler for ARM from Platform Builder for Windows Embedded Compact 7, compiler version string:
Microsoft (R) C/C++ Optimizing Compiler Version 15.01.50304.03 for ARM
Passing elements of a __declspec( align( 16 ) ) array of structures as function parameters is not correct, in /Ox compilation data is passed in registers in wrong order, in /Od compilation the code the code is even more incorrect.
It seems the BUG can be worked around by using a temporary pointer to the alligned array.