Thanks for your sample, it would have taken a LONG time to work out otherwise.
The reason the sample worked before, is likely that your "Force Editor Resolution" was set to the same aspect ratio as the native resolution. The calculation is still correct, just that the fitting algorithm now displays a bit more in the horizontal axis than before.
If you set auto-scale to "Stretch to Fit" your image should be correct, though it will be stretched horizontally to fit the screen.
You can get the exact "extents" of the visible screen at the current adjusted resolution using tk2dCamera.ScreenExtents. Your code modified to work at any resolution and/or scaling option is below:
tk2dCamera.inst.mainCamera.transform.position = new Vector3(this.transform.position.x - tk2dCamera.inst.nativeResolutionWidth / 2,
this.transform.position.y - tk2dCamera.inst.nativeResolutionHeight / 2, tk2dCamera.inst.transform.position.z);
Rect extents = tk2dCamera.inst.ScreenExtents;
if (tk2dCamera.inst.transform.position.x < -extents.xMin)
tk2dCamera.inst.transform.position = new Vector3(-extents.xMin, tk2dCamera.inst.transform.position.y, tk2dCamera.inst.transform.position.z);
if (tk2dCamera.inst.transform.position.y < -extents.yMax)
tk2dCamera.inst.transform.position = new Vector3(tk2dCamera.inst.transform.position.x, -extents.yMax, tk2dCamera.inst.transform.position.z);
if (tk2dCamera.inst.transform.position.x > map.data.tileSize.x * map.width - extents.xMax)
tk2dCamera.inst.transform.position = new Vector3(map.data.tileSize.x * map.width - extents.xMax, tk2dCamera.inst.transform.position.y, tk2dCamera.inst.transform.position.z);
if (tk2dCamera.inst.transform.position.y > map.data.tileSize.y * map.height - extents.yMin)
tk2dCamera.inst.transform.position = new Vector3(tk2dCamera.inst.transform.position.x, map.data.tileSize.y * map.height - extents.yMin, tk2dCamera.inst.transform.position.z);
Also note you should cache tk2dCamera.inst.transform.position and use it instead of accessing it every time