After banging my head against a wall for a little over 2 hr trying to figure out what was going wrong, I finally came to the same conclusion as you. It's still broken. I made an even more simple demonstration to prove it as well before finding this thread now that I know what the root cause is. Create a new file, draw a square, dimension one edge to 2 (in or mm, doesn't matter), dimension the second edge to ceil(d1), and instantly you get a "failed to solve" error. Doesn't matter if you strip the units from d1 before going into the function, the result is the same.
User parameters will take the driven dimension and work with it just fine, but using that user parameter inside of a sketch again causes the sketch line to turn black showing that it is fully constrained, however you can just drag it around and it doesn't snap back into the right position, nor does it give you any error message. Very strange behavior that took so long to figure out what was actually causing the dimension not to be locked down despite getting no error messages.
You can even add a second box with d3 on one edge and use that in the ceil function and it works just fine, proving that having units isn't what causes the issue, it's putting a driven dimension in. (previous related reports were having issues because of putting unit dimensions into the function, but this has since been improved)
Might need to repost this under a new bug report since your message didn't get any attention even months later. Not sure if this one will either.
Screenshot shows test I explained. d3 stuck, but trying to swap to d1 throws an error and reverts d2 to using d3.