One of my client just came across this nasty little Essbase 'feature'...
They have a DR strategy that includes the shipping of Essbase transaction logs to DR server and apply every hour. However they found that the Cube on the DR had different data to their live production cube.
After much investigation it was found to be due to execution of Calc scripts that use Essbase Substitution Variables. Unlike Business Rule execution it appears that on the DR server the calcs will utilise the local Variable settings rather than what is set on the Primary.
They do replicate the .SEC file each evening (and hence the variable values) but if they change the typical variables (e.g. CurrYr or CurrPer) the transaction apply at the DR uses the old variables.
Nasty. They have raised an enhancement request!