Looking at the source for ISOMLayout, it appears that it's 'step' function does not support the lock feature.
1) ISOMLayout layout = new ISOMLayout lock(...)
2) layout.lock(true)
3) layout.step(); // this will change the location of vertexes if they are not currently in the minimum energy locations, ignoring the lock flag.
this appears to be a bug.