I'm running two sets of memory (4x256Mb - with two differing brands & cas latencies) in dual-channel quite happily on a Gigabyte mobo.
It could be a motherboard 'brand' issue - Asrock not being a very good make compared to Asus/Gigabyte, so something lacking perhaps?
To save money, instead of upgrading all the memory, try to get a 512Mb module to match one of your existing modules. Getting it off eBay could make it cheaper too.
Or, you could leave it as single channel. The differences between single & dual is negligible for the majority of users, as this article testifies click here. Though it does say at the very end that dual channel may be the best option for optimum performance in the long run especially for gaming click here. G