The tables in MSI database don't support storing odbc username and password, because those parameters are provider-specific. The idea is that the application will provide them as part of the odbc connection string: DSN=... PWD=....
For sql server, you still can put username by injecting it into the registry as
HKCU\Software\ODBC\ODBC.INI\<your-odbc-name>\LastUser (or HKLM\... if machine data source). I would also move in the script WriteRegistryValues after InstallODBC .
Generally, if some odbc provider allows storing username and password (or anything else), you need to figure out where (most likely in the registry), and put in the MSI by non-ODBC means.