and am not sure how am suppose to check the buffer memory location.You are right.
so I just took a screenshot >.<
am guessing its nots aligned as there are alot of things that ends with 8 XD
and this second picture is how it looks like when it does work (by undeclare the string)
As you can see in first screenshot address of cBufferObject.WVP.r is 0x00c45998 which means it's not aligned.
While in second screenshot it's 0x01de5950 so it is aligned and doesn't crash.
Now you just need to figure which new call to fix, or use special functions to load/unload unaligned data into local variables.