You need to validate the row terminator - it is probably only a line feed (LF) character in the file. Open the file in a text editor like Notepad++ and view all symbols/characters. The standard row terminator for Windows is a CRLF and the \n in Windows is treated as \r\n.
There is also the option of:
BULK INSERT ...
WITH (FORMAT = 'CSV');
There are additional parameters that can be included for CSV format if needed.
Now - to your original question. This will get the data into a table in SQL Server but will not utilize the stored procedure to actually load that data into the application. To accomplish that, once you have the data in a table you will need a cursor to loop over each row - and call the stored procedure with the appropriate parameters.
That can all be done in SSIS also. In SSIS - you start with a data flow to load the file using a flat file source and a recordset destination. You setup the recordset destination with the fields you need from the file.
You then need to create variables for each field returned from the recordset.
The next item (in the control flow) would be a for each loop - where you loop over the recordset you created in the data flow. In the for each loop - you map the fields from the recordset to the variables defined.
Inside the for each - you use an Execute SQL Task with an ADO.NET connection type to your database. You specify the stored procedure to be executed - and map the parameters to the the variables.
This will then read the file - loop over each record in the file - and call the stored procedure with the variables from the file.
It sounds like a lot...but once you see how it is done it isn't anything more than creating a cursor in T-SQL.