After inserting new JID into user’s roster you have to edit this entry and set subscription to Both. Then logout the user and login again. Also it is probably better to create a group in Spark before inserting JID into it. Though last time it worked for me even without creating a group in Spark.
I prefer sharing whole groups of contacts to users instead of manually adding them one by one.