OK sorry for the delay in replying again... not sure what the issue could be without seeing the specifics of package. Have you tried to get a very simple package to work with just this functionality, e.g.
1. Create new package
2. Create variable = MyVariable, Scope = packagename, Data Type = String, Value =
3. Add Script Task to control flow
4. Open task and add the string "MyVariable" to the ReadWriteVaiables property (excluding quotes)
5. Design script and add code: Dts.Variables("MyVariable").Value = "new value"
6. Save and close all windows
7. Add new script task and follow steps 3 to 6 again but this time add parameter name to ReadOnlyVaiables property and add code: MsgBox(Dts.Variables("MyVariable").Value)
8. Save package and run.
You should see the message box pop up with the text "new value" in it.
Let me know how you get on.
Rob