Имеется ли опыт использования Matreshka.js?
Сразу скажу, я очень предвзят, так как являюсь старшим автором Матрешки и автором балалайки.
Не буду воспевать дифирамбы, просто кратко расскажу, в чем смысл Матрешки.
1. Классическое наследование основанное на классах используется уже очень давно и очень многими программистами. В интернете вы можете найти тысячи реализаций функции Class. Здесь просто не может быть никаких подводных камней.
2. Двустороннее связывание - достаточно простая штука. Я приводил в комментарии к одной из статей, как это работает. Очень маловероятно, что вы столкнетесь с какими-нибудь проблемами. По поводу байндинга, основанного на CSS селекторах: можно передавать DOM узел, jQuery коллекцию, HTML код и прочее. Соль в том, что вы получаете ноды в JS коде, а не наоборот (данные в HTML коде).
3. Прослушивание событий изменения свойства тоже вещь не сложная. На свойство просто навешивается акцессор (сеттер), который вызывает обработчики.
4. MK.Object - это тот же ООП класс, который просто разделяет данные от не-данных. И, кстати, может содержать совершенно произвольную структуру данных, как и MK.Array.
5. MK.Array - это коллекция с достаточно простым API и автоматическим рендерингом. При вызове какого-нибудь метода, класс смотрит, какой именно метод вызван и запускает оптимизированный механизм рендеринга. Т. е. при использовании метода push, вставляется новый узел в конец контейнера, не перерисовывая всю коллекцию заново.
Какие есть подводные камни, на мой взгляд:
Многоуровневые делегированные события могут запутать. Например, событие "a@@change:x" (в свойстве "a" содержится коллекция коллекций, в последней содержутся модели, изменения свойства "x" которых, мы слушаем) заставляет напрячь извилины, поэтому их использование не рекомендуемо. 
Многие программисты очень сильно мудрят с использованием привязок, вставляя в setValue и getValue сложные манипуляции с DOM и ajax запросы. Этого делать не рекомендуется, так как DOM - штука медленная, сложные манипуляции могут отразиться на производительности, а ajax запросы вовсе асинхронны (синхронные запросы будут убраны из вебкита в скором). Привязки должны быть максимально простыми.
По поводу Балалайки даже не знаю, что сказать. Это просто очередная jQuery-like либа с очень небольшим набором методов. Единственный подводный камень - это то, что там нет привычных возможностей, их прийдется дописывать самостоятельно. Если не хочется, возьмите Зепто, например.
По причине того что проект ещё "молод" использовать бы не стал. Обязательно наткнетесь на грабли, которые в других фреймворках уже скорее всего решены. Совместимость кода, наличие готового кода могут затянуть проект. И человек который будет доделывать/переделывать ваш код скорее всего не знает Matreshka.js.