I don't have any direct C# experience, but I'm pretty sure it can process CSV data. It's a very simple format, so I don't see why it couldn't (especially if you have Excel installed on the same machine and can access the Excel functionality via C#).
I believe you automagically get the timestamp in your published data. A sample line of data from the spark-hq/Temperature feed looks like: data: {"data":"69.125000","ttl":"60","published_at":"2014-03-12T04:58:09.583Z","coreid":"53ff6a065067544826350587"}. However, if you aren't satisfied with that timestamp, you could use your "listener" client to log its own timestamp when the messages are received.
It looks like the Spark.publish() function is rate-limited on the server-side to 60 events per minute per core (so 1 per second). The post was made a little ways down in the Sprint 7: Spark.publish() released! Let’s build a cloud-connected motion detector thread.