Os procedimentos armazenados são suportados em trilhos. O erro fora de sincronia que você está recebendo é porque o
MULTI_STATEMENTS
flag para MySQL não está habilitado por padrão no Rails. Esse sinalizador permite que os procedimentos retornem mais de 1 conjunto de resultados. Veja aqui um exemplo de código sobre como habilitá-lo:https://gist.github.com/wok /1367987
Os procedimentos armazenados funcionam imediatamente com o MS SQL Server.
Eu tenho usado procedimentos armazenados em quase todos os meus projetos de trilhos baseados em mySQL e SQL Server sem qualquer emissão.