Изначально у меня все данные для отображения в таблицах хранились в обычных массивах Array, с биндингом, в общем виде как то так:
[Bindable] protected var super_mega_array:Array = new Array();
В него push'ались элементы, и всё это дело какбе работало. В процессе работы приложения массив меняется, я надеясь на [Bindable] думал, что таблицы тоже должны какбе поменяться. А вот и нет.
Как выяснил, мало того, чтоб DataGrid имел провайдера dataProvider с [Bindable], надо чтоб он ещё и реагировал на изменения(уведомлял об изменениях внутри себя слушателя). Значит тут прямая дорога к ArrayCollection. Изменив все массивы Array которые отображались в таблицу на ArrayCollection, заменив метод .push на .addItem, получил что хотел - любое изменение массива немедленно отражается в таблице :)