There are many ways to implement runtime configuration of a package (which is what you're doing)
You don't mention what version, but have a read of this:
http://msdn.microsoft.com/en-us/library/cc671625.aspx
This for examples says configuration happens in this order for SQL 2005:
-Design time configurations are applied -Command line options are applied -Parent package configurations are applied
This means if your variables are assigned from the standard SSIS configuration table using standard configurations, then any command line options will overwrite them afterwards.
Have you considered that your user will need SSIS installed, and the package will execute on their local machine, including data round trips?