FunctionImports (and the DevForce StoredProcQuery) can only be used for queries, both by DevForce and by EF. What's happening is that the proc is executed, but then DevForce will throw when trying to process its "results". For the record, the PassthruEsqlQuery can also be used for queries only.
EF (and DevForce) does support DeleteFunctions, but expects you to load up the entity and call .Delete() on it; the stored proc is then called instead of the usual delete command when SaveChanges is called. Probably not what you want, though, since it is slow to have to both load items and then individually delete them. Here's some info on stored proc support in EF -
http://msdn.microsoft.com/en-us/library/bb399203.aspx.
You can also define a cascading delete constraint, where a delete on the parent will automatically force deletion of the children, but again all items must already have been retrieved.
Your best option might be to use either ADO.NET or EF Object Services to directly call the stored proc. If you want to run this only on the server you'll need to use InvokeServerMethod to call a custom method on the server. Your next issue is then ensuring that what's in the EntityManager cache now corresponds with the DB -- EM.RemoveEntities may help with this.