Recently I came across a scenario where it was required that workflow be triggered on change of a read only only field.
While testing I found that the workflow wasn't getting fired. I added the code to ForceSubmit the field OnSave of record.
Even after that the workflow didnt execute on change of that field.
Ultimately, I had to enable that field so that the workflow could trigger on field change. Additional logic (simply a workaround) had to be applied in order to achieve the desired functionality.