This seems like a bad analogy. Dijkstra's paper was in favor of "structured programming",and the problem was that goto was too-unstructured. If anything, callbacks are excessively structured.
Also, why is nonlinear code a bad thing? If the program behavior should be nonlinear, then neither should the code.
Also, why is nonlinear code a bad thing? If the program behavior should be nonlinear, then neither should the code.