Thanks for the repro, that helps a lot. 
Two separate things are going on here:
1. The immediate failure in your playground isn’t the scale: it’s the vertex limit. Your moulding sphere jumps from 40 segments (HEALTHY) to 500 segments (BROKEN), which pushes the merged mesh well over 65 536 vertices. Mesh.MergeMeshes(meshes, false) returns null in that case because 32-bit indices aren’t enabled, and then CSG.FromMesh(null) fails so the body is never created and only the cutter is left floating. Enabling 32-bit indices fixes that part:
const source_mesh_merged = BABYLON.Mesh.MergeMeshes(meshes, false, true);
(the 3rd arg is allow32BitsIndices).
2. The disappearing/reappearing polygons in your video are a known limitation of the legacy BABYLON.CSG engine. It’s a fragile boolean implementation that’s very sensitive to coplanar faces and floating-point precision, and it bakes the world matrix (scale included) so when scale is enabled or coordinates get large (yours are in the thousands), precision loss makes it misclassify polygons.
The recommended path is to switch to CSG2, our newer Manifold-based engine, which is dramatically more robust for exactly this kind of case (chained subtractions, scaled/large geometry, coplanar faces):
await BABYLON.InitializeCSG2Async();
const a = BABYLON.CSG2.FromMesh(targetMesh);
const b = BABYLON.CSG2.FromMesh(cutterMesh);
const res = a.subtract(b);
const resultMesh = res.toMesh("result", scene);
a.dispose(); b.dispose(); res.dispose();
Docs: Babylon.js docs
Since you mentioned you chain several CSG operations on one mesh in production, CSG2 will also behave much better across those repeated ops.
If you still see an artifact after moving to CSG2, could you share a minimal playground that reproduces it with the scale applied (low vertex counts, so we’re isolated from the merge limit above)? We’ll happily dig in from there.