Did you put the autocommands in those separate files as autocommands? That is, does your ~/.vim/syntax/tex.vim contain lines like this,
au FileType tex set expandtab
or this,
au BufRead,BufNewFile *.tex set expandtab
If so, that's wrong. Vim sources the files in the ftplugin, syntax and indent directories when a file of the file type corresponding to the name of the plugin is opened. If the plugin contains autocommands, those autocommands will be read and executed but the command portion won't be executed until the next time the triggering event occurs.
If you want to make some filetype-dependent setting, put a command like this in the ftplugin for that file type.
setlocal expandtab
Don't put it in an autocommand and do use setlocal rather than just set so that the setting will apply to the buffer containing that file type and not apply to all your Vim buffers.
See
:help 43.1
:help 41.11
Edit
I forgot to answer another part of the question. Vim has three types of filetype-dependent plugins that go in three different subdirectories of ~/.vim: ftplugin, syntax and indent. The indent subdirectory is intended for plugins that affect the indentation of specific file types. The syntax subdirectory is intended for plugins that affect syntax coloring. The ftplugin is intended for plugins that affect behavioral settings such as textwidth, mappings, abbreviations and such.