The purpose of the invalidate() method (https://api.daypilot.org/daypilot-cellarray-invalidate/) is to ask for a fresh result of onBeforeCellRender event callback. It is useful if you display calculated values in cells and want to force the content to update.
If you want to disable rows for drag and drop there are several options:
1. You can add cellsDisabled: true to the resource properties (items of the resources array - https://api.daypilot.org/daypilot-scheduler-resources/).
2. You can use args.cell.disabled = true in onBeforeCellRender. This allows finer control over the disabled cells (you can disable just a part of a row this way). See also:
3. You can also disable a specific drop position dynamically using onEventMoving, onEventResizing, etc. (args.allowed = false).
Option #1 should work fine your case.