Eval columns that access script columns don't refresh properly

Immediately after writing or editing an eval column that accesses a script column the value is displayed properly, but disappears after a file display refresh. Here I am adding a few empty lines to the column code.

Val("scp:MyCustomColumn/MyCustomColumn")
function OnInit(initData) {
    initData.name = 'MyCustomColumn';
    initData.default_enable = true;
    initData.min_version = '12.0';
}

function OnAddColumns(addColData) {
    var col = addColData.AddColumn();
    col.name = 'MyCustomColumn';
    col.method = 'OnColumn';
}

function OnColumn(scriptColData) {
    scriptColData.value = 'MyCC';
}
XML
<?xml version="1.0"?>
<evalcolumn align="0" attrrefresh="no" autorefresh="no" foldertype="all" keyword="myEC" maxstars="5" namerefresh="no" reversesort="no" title="myEC" type="0">Val(&quot;scp:MyCustomColumn/MyCustomColumn&quot;)
</evalcolumn>

ColumnMyCustomColumn.js.txt

Today I encountered similar problems with a simple eval column lbl that only referenced label. It remained empty initially and only showed the content after modifying the eval code to label + " abc". Refreshing the file display let the content disappear again. After deleting the eval column (and despite refreshing the file display several times) I was left with this surprising result:

  • lbl should be gone but shows the status icon that is associated with the label Flagged
  • Tags should be empty but shows the label (see metadata panel)
  • Label should show the label but it is empty (the orange row is part of the label format)
  • Status shows the rating
  • Rating is empty