We have had requests like that before asking for the marks to be pushed over to our in-house student information system (SIS).
I feel the problems won't be if the web services can do it, but more along the lines of what does it send. Certainly with our Moodle we have modules/courses that do not exist in our student record system, they are staff training webs and test courses etc. Should the web service send these over?
The next one is to do with which columns to send, our SIS may hold the marks under the field names CW1, CW2 or EX1. In Moodle there will be summative test columns which have no matching field in the SIS and also the columns in Moodle will be called the same as the text that is displayed to the students e.g. Assignment 1. The web service would not be able to link the columns in the 2 systems together, the tutor is probably the only person that knows the connection between them.
Another problem is that the tutor is probably the only one that knows when the marks are collect to release to students. This may not be a problem depending on what the consuming system does with the marks. It should be able to tell if a column is released to the students and therefore safe to be displayed to the students no matter which system they see them in.
Our solution to this is to add an extra Export Grade option that asks the tutor to match up the Moodle fields to the SIS fields, which is pulled over by a web service provided by our SIS. When the tutor clicks the button the export takes place and the tutor is then taken to the preview page which displays a list of the students marks exported along with any errors that happened in trying to send the marks over to the SIS.
I am just setting up to write this new export function and have already found some problems that need to ironed out including what to do with meta courses whose short name does not match any module/course in the SIS.
I think you need to explore the above issues before going forward.
I didn't answer your question but I hope it helps.